Rumah > alat pembangunan > git > teks badan

这些好用的Git功能你也许还不知道!

藏色散人
Lepaskan: 2020-01-26 16:55:20
ke hadapan
3311 orang telah melayarinya

这些好用的Git功能你也许还不知道!

一、刚提交的代码,发现需要微调一下

刚刚最新提交了一段代码,然后跟前端说,接口好了。过了2分钟,前端跟你说,哎,兄弟,那个金额能不能返回整数,不要小数点。

这个时候一般我们通常会修改一下之后,再提交一个版本。那么又过了2分钟,前端又跑来说,哎,兄弟,那个日期能不能换个格式...

正常我们又会修改下后再提交一个版本,那么就一些简单的改动,我们就提交了好几个版本,可以是可以,不过还有一个更加优雅和简单的解决方法: commit --amend 

"amend" 是「修正」的意思。在提交时,如果加上 --amend 参数,Git 不会在当前 commit 上增加 commit,而是会把当前 commit 里的内容和暂存区(stageing area)里的内容合并起来后创建一个新的 commit,用这个新的 commit 把当前 commit 替换掉。所以 commit --amend 做的事就是它的字面意思:对最新一条 commit 进行修正。

具体地,当你把修改改完之后,直接运行:

git add .
git commit --amend
Salin selepas log masuk
Salin selepas log masuk

之后会出现你之前一个提交的信息:

]S)_R84SO3J31U26{{GK(96.png

你可以修改或保留它,然后保存退出就可以了。你的最新commit就被更新了,如下图所示:

   E61GZ@A9DT6U$NS[@{14NL0.png

二、要修改的不是最新的commit,而是倒数第二个

突然我先我们倒数第二个提交需要进行一些微小的调整,那么这时候我们就不能用上面那种处理方式了,不过也是有办法的。

rebase -i :是 rebase --interactive 的缩写,意思为「交互式rebase」。

  D[$R_PDPM$7Z4HU9I%NIB`P.png

git log 后我们发现是倒数第二个commit需要修改,那么此时我们可以运行:

git rebase -i HEAD^^ ,就会跳出如下这个界面。

  9~)71~CR4ZFTAPM```NARG3.png

这个编辑界面的最顶部,列出了将要「被 rebase」的所有 commits,也就是倒数第二个 commit 「modify testgit」和最新的 commit「mofify .gitignore」。需要注意,这个排列是正序的,旧的 commit 会排在上面,新的排在下面。

此时,我们需要修改哪个commit,就可以把commit 之前的pick修改成edit ,然后就可以退出这个界面。

B[9OIK_O)S{N%KCM@{)[2`H.png

上面的界面告诉我们,rebase过程已经停在需要修改的那个commit,然后我们可以进行修改了,修改完后:

git add .
git commit --amend
Salin selepas log masuk
Salin selepas log masuk

  上传修改后,就可以运行:

git rebase --continue
Salin selepas log masuk

如果没有冲突,那么就完美rebase了。

三、紧急情况:stash存储

当你正在敲着键盘,埋头开发一个新功能时,突然有人跑过来跟你说,哎,兄弟,你之前开发的那个功能出现了一个bug,赶紧改一下,这时候你新分支功能才刚刚开了一个头,如果直接commit一次肯定是可以的,不过有更好的处理办法-- git stash .

git stash 后会把你工作目录的改动清空,然后存储到另外一个地方。需要注意的是, git stash 会忽略那些没有被track的文件,这时候需要加上参数-u,即 git stash -u 。

当你把bug修复后,切回工作分支。然后:  

git stash pop
Salin selepas log masuk

你之前存储的东西就回来了,是不是很方便?

本文来自 git教程 栏目,欢迎学习!

Atas ialah kandungan terperinci 这些好用的Git功能你也许还不知道!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
git
sumber:cnblogs.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!