Gitcommit常见⽤法
Git commit
git commit 主要是将暂存区⾥的改动给提交到本地的版本库。每次使⽤git commit 命令我们都会在本地版本库⽣成⼀个40位的哈希值,这个哈希值也叫commit-id,
commit-id在版本回退的时候是⾮常有⽤的,它相当于⼀个快照,可以在未来的任何时候通过与git reset的组合命令回到这⾥.
1.1 git commit -m “message”
这种是⽐较常见的⽤法,-m 参数表⽰可以直接输⼊后⾯的“message”,如果不加 -m参数,那么是不能直接输⼊message的,⽽是会调⽤⼀个编辑器⼀般是vim来让你输⼊这个message,
message即是我们⽤来简要说明这次提交的语句。还有另外⼀种⽅法,当我们想要提交的message很长或者我们想描述的更清楚更简洁明了⼀点,我们可以使⽤这样的格式,如下:
git commit -m ‘
message1
message2
git常用指令message3
’
1.2 git commit -a -m “massage”
其他功能如-m参数,加的-a参数可以将所有已跟踪⽂件中的执⾏修改或删除操作的⽂件都提交到本地仓库,即使它们没有经过git add 添加到暂存区,注意,
新加的⽂件(即没有被git系统管理的⽂件)是不能被提交到本地仓库的。建议⼀般不要使⽤-a参数,正常的提交还是使⽤git add先将要改动的⽂件添加到暂存区,再⽤git commit 提交到本地版本库。
1.3 git commit --amend
如果我们不⼩⼼提交了⼀版我们不满意的代码,并且给它推送到服务器了,在代码没被merge之前我们希望再修改⼀版满意的,⽽如果我们不想在服务器上abondon,那么我们怎么做呢?
git commit --amend //也叫追加提交,它可以在不增加⼀个新的commit-id的情况下将新修改的代码追加到前⼀次的commit-id中,(1)假如现在版本库⾥最近的⼀版正是我们想要追加进去的那版,此时是最简单的,直接修改⼯作区代码,然后git add,之后就可以直接进⾏git push到服务器,中间不需要进⾏其他的操作如git pull等
(2)如果现在版本库⾥最近的⼀版不是我们想要追加进去的那版,那么此时我们需要将版本库⾥的版本回退到我们想要追加的那⼀版,想要将版本回退到我们想要的哪⼀版有好⼏种⽅法
1)第⼀种即是我们从服务器上选取我们需要的版本,直接进⾏挑拣,在服务器的提交管理页⾯上右上⽅⼀般会有⼀个Download按钮,点击会弹出⼀个下拉框,选择其中的cherry-pick,复制命令,
之后在我们版本仓库对应的⽬录下运⾏这个命令,执⾏完后,使⽤git log -1 命令,可以查看到现在版本库⾥最近的⼀版变成了我们刚才挑拣的这版,此时再在⼯作区直接修改代码,
改完之后进⾏git add,再执⾏本git commit --amend命令,之后git push.
2)使⽤gitk或其他的图形界⾯化⼯具,在终端输⼊ gitk,回车,会弹出gitk的图形界⾯,在界⾯的左侧部分陈列着版本库中的⼀条条commit-id,此时选中我们需要的那⼀版,右键点击之后会弹出⼀个
选择菜单,如果是在master 分⽀上,那么其中会有⼀项是 Reset master branch to here,点击这
项,会弹出⼀个名为confirm reset的确认box,选择reset type 中的hard项,再点击OK,
关闭gitk图形界⾯,回到终端,运⾏git log -1命令,发现现在版本库⾥最近的⼀次提交已经是我们希望的那⼀版了,此时再在⼯作区直接修改代码,改完之后进⾏git add,
再执⾏本git commit --amend命令,之后git push.
3)如果我们知道我们需要的版本与现在最近的版本中间隔着 n 个提交,那么我们可以直接使⽤git reset --hard HEAD~n命令,关于git reset 命令有详解,此时这个命令执⾏完后,
运⾏git log -1 命令我们会发现现在版本库⾥最近的⼀版就是我们需要的那版,此时再在⼯作区直接修改代码,改完之后进⾏git add,再执⾏本git commit --amend命令,之后git push.
4)如果我们不知道我们需要的版本与现在最近的版本中间隔着 n 个提交,那么我们可以使⽤git log来查看版本库中的commit-id,到我们需要的commit-id后,在终端中执⾏git reset --hard commit-id,
时这个命令执⾏完后,运⾏git log -1 命令我们会发现现在版本库⾥最近的⼀版就是我们需要的那版,此时再在⼯作区直接修改代码,改完之后进⾏git add,再执⾏本git commit --amend命令,之后git push.
1.4 git commit --help
查看帮助,还有许多参数有其他效果,⼀般来说了解上述三种即可满⾜我们⼯作中的⽇常开发了
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论