luowho 团队的 Git 实用手册

说是手册,其实就是一些 git 使用中的心得,放在这里跟大家分享讨论一下,欢迎批评指导。

彭书记的 merge master 大法

// 要 merge master 分支的时候,参考彭书记的方法可以逐步解决可能出现的冲突

$ git checkout master
$ git pull --rebase
$ git checkout issue-branch
$ git rebase master

// 下面的步骤用来更新 master 分支,一般在 GitHub 上完成代码审阅以后自动合并

$ git checkout master
$ git branch --contains HEAD
$ git merge --no-ff issue-branch
$ git push

取消文件名修改

取消修改就是把名字改回去。。

$ git mv file2 file1

回滚 commit

如果你发现刚刚 commit 的内容不合适(存在 bug, 存在安全问题等等),git 提供了回滚 commit 的方法:
$ git reset --hard HEAD~1

最后的 1 表示回滚最近一次 commit, 当然你也可以回滚 2, 3 甚至更多次。

加入上个 commit

*需求场景:*做了一个 commit 以后发现为那个 commit 设想的功能需要有新的代码改动,这时候做一个新的 commit 不太合适,就可以用 git commit --amend 来加入到上一个 commit 中去。
$ git commit --amend

比如你要实现一个 Dog 类,一顿编写以后 commit 了,正要发布到远程仓库你发现忘记加 log 了,这个时候新的代码改动就可以用 amend 这种模式来加入上一个 commit.

amend 一个远程存在的 commit

如果你要 amend 进的 commit 已经被传到远程仓库了,那你 amend 以后要先 git pull ,才能发布你的新改动。

注意 git pull 会帮你自动增加一个标记为 merge 的新 commit。所以尽量在发布之前使用 amend 模式。

用本地分支覆盖远程分支

$ git push -f

-f 是 force 的意思,也就是强制上传。

你可能感兴趣的:(git,软件工程)