如何修改上次的 commit
比如有的时候 commit 漏掉了文件、commit 信息写错了,可以这么做:
你要指定一个有效的编辑器作为 Git 的默认编辑器,可以使 Vim 或者 VSCode:
| |
然后将上次忘记提交的修改先 git add (如果有的话),接着:
| |
--amend 会用新的内容替换上一次提交,而不是创建一个新的提交。如果上一次提交已经被推送到远程仓库,使用 --amend 后需要强制推送:
| |
这个方法我有时候用来同步一下两台电脑上的代码,因为有时候一台电脑上写了一部分代码但是还没有到一次提交的地步,这时如果要外出或者要用另一台电脑了,就可以用这个方法来同步一下。
不过,使用 git push --force 强制推送后,远程仓库的历史记录会被改写。这种操作可能会导致本地和远程分支的提交历史不一致。我自己通常这么解决:
| |
这一般是不需要保留本地未推送的更改,可以直接将本地分支强制更新为远程分支的状态。
git 如何移除 submodule
| |
推送分支
第一次推送(远程分支可能还不存在)
| |
## 推送到远程的另一个分支名
如果想把本地分支 dev 推送到远程的 test 分支:
| |