git 常用指令集合

1、新建分支

git checkout -b A                //新建本地分支

git push --set-upstream origin A //push本地分支到远程服务器

2、删除分支

git branch -d A                  //删除本地分支
git push origin --delete A       //删除远程分支

3、查看分支

git branch               //查看本地分支
git branch -a            //查看所有分支

4、提交代码

git add /a.txt /b.txt              //添加修改文件 a.txt b.txt 到暂存区,多个修改使用空格分开
git pull                           //检查下,保证同步本地代码到最新,防止push时候冲突
git commit -m "command"            //将本地暂存区的修改提交到版本库
git push                           //提交到远程服务器

注:
git commit -am "command"           //相当于 git add . + git commit -m
git add .                          //添加当前目录下所有修改

5、查看历史修改

git log (commit id)                 //显示commit节点之前所有修改记录
git log --pretty=oneline (file)     //显示本文件路径修改提交历史记录
git show commit (file)              //显示 commit文件修改内容

6、生成patch


git format-patch HEAD^        //生成最近的1次(HEAD后面"^"个数)commit的patch 
git format-patch r1..r2         //生成两个commit间的修改的patch(包含两个 commit ,r1和r2是 commit id)
git format-patch -1 r1          //生成单个commit的patch
git format-patch r1             //生成某commit以来的修改patch(不包含该commit)
git format-patch --root r1      //生成从根到r1提交的所有patch

7、合入patch

git apply --stat 0001-test.patch    //查看patch的情况
git apply --check 0001-test.patch   //检查patch是否能够打上,如果没有任何输出,则说明无冲突,可以打上
git apply 0001-test.patch           //将 0001-test.patch 打上

git am 0001-test.patch              //将 0001-test.patch 打上
git am --signoff 0001-test.patch    //添加-s或者--signoff,可以把自己的名字添加为signed off by信息,注明打patch的人
git am ~/patch_path/*.patch      //将路径~/patch_path/ 下 patch 按照先后顺序打上
git am --abort                   //当git am失败时,用以将已经在am过程中打上的patch废弃掉(比如有三个patch,打到第三个patch时有冲突,那么这条命令会把打上的前两个patch丢弃掉,返回没有打patch的状态)
git am --resolved                //当git am失败,解决完冲突后,这条命令会接着打patch

注:git apply 与 git am 的区别是: git apply并不会将 commit message 等打上去,打完patch后需要重新git add和git commit,而git am会直接将patch的所有信息打上去,而且不用重新git add和git commit,author也是patch的author而不是打patch的人

8、 追加修改

git add xxx 
git commit --amend  
# 修改commit 
git push origin HEAD:refs/for/master  

9、修改远程库url

# 查看当前的 url
git remote -v

origin	[email protected]:android/test/test.git (fetch)
origin	[email protected]:android/test/test.git (push)

# 修改 url
git remote set-url origin ssh://[email protected]:12345/android/test/test

你可能感兴趣的:(git)