git 常用操作

2023-06-25  本文已影响0人  晨曦中的花豹

需求开发完成,准备将开发分支合入master分支。

// 拉取最新的云端分支信息
git fetch

// 切换至 master 分支
git checkout master

// 更新 master 代码
git pull -r

// 合并开发分支,并合并成一个新的提交feature/fanjie/gerrit-0702 仅用于举例,需替换为自己的开发分支名
git merge feature/fanjie/gerrit-0702 --squash

// 解决冲突
...
// 提交
git commit

//提交review
git push origin HEAD:refs/for/master

// review未通过,修改后不要重新提交,使用以下命令行将改动合并入上一次提交
// (可以保证changeId不变,review代码的同学也可以很清楚的看到第二次提交改动的地方)
git commit --amend
// 再次提交review
git push origin HEAD:refs/for/master

改动的临时存储,比如正在开发的东西还不具备提交条件,但是临时需要去别的分支工作,可以通过以下命令行进行临时存储

git stash save "临时保存" // 存储
git stash pop // 取出

同步云端代码

git fetch

开发中时刻保持自己的分支是基于最新的master的,这样的好处有很多,代码冲突能及早发现并解决,不至于最后再去大范围的解决冲突问题

git rebase master

将其他分支的提交迁移过来,比如我们在demo上边的改动,有用的内容不想再写一遍,可以通过这种方式直接将demo改动的代码迁移过来

// 98cce07是当前分支之外的其他分支的提交
git cherry-pick 98cce07 // 直接在当前分支生成提交
git cherry-pick 98cce07 --no-commit //不在当前分支生成提交,只把代码改动迁移过来

代码回滚 ~1代表回滚一个提交

git reset HEAD~1

代码重置到最新的当前分支提交

git reset --hard

想要当前分支代码还原到最新的master分支代码,常用于当前分支要与某一个分支代码拉齐

git reset --hard origin/master

回滚某次提交的代码,生成新的提交,与reset区分

git revert 98cce07

清空缓存,并不是删除文件,比如在.gitignore中已经添加了对某个文件的忽略,但是可能在不经意中强制跟踪了文件的修改,导致忽略失效,这个时候,手动调用下这个命令,就会重新将.gitignore中忽略的文件重新忽略

git rm --cached .

设置git默认编辑器,我常用Sublime Text

git config --global core.editor "/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl -w"git

更多git只是学习请看Git - Book

上一篇下一篇

猜你喜欢

热点阅读