Git

获取ssh密钥

  $ssh-keygen -t rsa -C "your_email@youremail.com"

  $ssh -T git@github.com 检查绑定成功?

 

配置

  git config --global user.name "your.gitname"

  git config --global user.email "your.gitemail"

 

 

 

创建项目

  git init 初始化(生成.git)

  git clone git@github.com:lin-tony/##.git  下载项目源码

  git log 查看历史提交记录(--pretty=oneline参数:每一条提交记录只占一行  --graph:查看分支合并图 --abbrev-commit:显示前几位版本号 --name-status:显示改动的文件

  git checkout -- file  可以丢弃工作区的修改(包括误删)

  git reset HEAD file :回退文件,将文件从暂存区回退到工作区

 git reset --hard ##|HEAD^  回退版本,##是版本号、版本号没必要写全,一个^表示一个版本、可以多个、另外也可以使用 git reset HEAD~n这种形式。

  git reflog 查看命令历史,第一项就是版本号

  git add file 将该文件加入缓冲区/从缓冲区删除(红色文件名代表此文件还未被Git所管理,绿色则ok)

  git add .  (如果全部都要更新)加入所有修改到缓冲区(文件名变为绿色)

  git status 查看缓冲区状态

  git commit -m "##"      提交,##是文件的描述

  git push origin ##  push##分支

  本地仓库的上传

  git pull 下载最新代码

  git checkout -b ## 创建+切换分支

 git checkout -b dev origin/dev 创建dev分支链接程的dev分支
 git branch --set-upstream-to=origin/dev dev 指定本地dev分支与远程origin/dev分支的链接

  git branch  ##  创建分支

  git branch -d ##  删除分支(-D 未合并要删除,用-D强行)

  git checkout master 切回主分支

  git remote add origin url  关联远程仓库,remotename为url(https://github.com/lin-tony/test.git)的别称

  git remote -v  查看远程库信息

  git pull --rebase  origin master 代码合并

  git push (-u) origin branch   push并关联(-u)到远程仓库(只需第一次关联)

  git merge ##  合并##分支到当前分支 (默认为FF模式, --no-ff:强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息)

  git diff filename 查看文件commit后的difference, 读懂diff

   git stash 保存现场

  git stash list 查看已保存的现场

  git stash pop 重现现场(且自动删除stash中的)

  git stash apply  恢复,stash内容并不删除,需要用git stash drop来删

  Merge conflict in #file 解决#file的冲突

  git tag ##  创建个##标签,指向head

试试看?

  gitk 内建的图形化 git

  git add -i 交互式添加文件到暂存区

原文地址:https://www.cnblogs.com/tony-/p/9061438.html