git常用命令-新手营

192 阅读3分钟

1、我常用的代码提交流程

git stash

git stash的作用是将你的改动移进stash栈,可以多次存入,git stash list查看栈

git pull --rebase

这个是用rebase的方式同步云端的改动,常见的git pull相当于git fetch + git merge,merge方式会带来一些不可预见的问题,特别是多人团队,除非你想手动解,

git stash pop

拉下来了代码,当然是要移出你的change,一般都是git stash pop,默认会拉出栈顶的最近一次记录,也可以使用git stash pop stash@{id}移出指定id的记录,通常不要用git stash apply,容易发生错乱;

移出后,如果有冲突,会有标注,你需要逐个去审核采用current change还是incoming change,选好后就可以下一步了

(git status + git add ** ) / git gui

这一步有两种方式:

1、git status查看改动的文件的staged情况,然后用git add和git reset操作;

2、git gui推荐使用,可以看到你改动的地方,然后依据需要添加;

git commit

添加好了stage,就可以建立本地提交记录了,这个时候就有了很多的不同的地方,你可以git commit -m"*** ",星号填写提交描述,也可以配置message模版-见2,和配置message默认编辑器-见3,

还有amend提交和squash提交,适应不同场景,代码审查下就需要每笔分开,

git push

建好了本地的提交记录,就需要同步到云端了,

格式:git push <remote 名字> <本地分支的名字> : <远程库的名字>

git push origin HEAD:refs/for/***

git push 推送

origin : 是远程库的名字

*** :就是填你的分支名

HEAD: 是一个特别的指针,它是一个指向你正在工作的本地分支的指针,可以把它当做本地分支的别名,git这样就可以知道你工作在哪个分支

refs/for :意义在于我们提交代码到服务器之后是需要经过code review 之后才能进行merge的 refs/heads 不需要---这些是gerrit的规则; 普通git使用git push origin HEAD:&&&就可以,需要注意本地分支需要与云端分支对其

异常处理-git reset

假如提交错误,切记不要多次提交后,再push同步,这个时候要先查看报错信息,处理错误,然后git log查看本地提交记录commitHash,复制下来云端最后一次提交记录的commitHash,然后使用git reset --soft ** ,将本地提交记录恢复到*

2、 配置message模版

git config commit.template ../config/aaa.txt

将当前分支的message设置为指定路径下的某个文件

git config --global commit.template ../config/aaa.txt

将全局的提交模版都设置为指定路径下的某个文件

3、配置message默认编辑器

git config --global core.editor “‘../config/sublime text.exe’ -w”

配置全局message编辑器为指定路径下的***

如果不设置,默认会是git自带vim编辑器

4、查看指定提交id的代码

git reset --hard **

git log查看本地提交记录,复制下来想要查看的提交记录的id,然后使用git reset --hard ** ,将本地代码恢复到***

5、查看git配置

git config --list

如果需要查看git配置,git config --list就可以查看当前分支的配置,然后输入cd回车返回顶级目录,然后git config --list就可以查看全局配置了