今天遇到git提交的问题,一直搞不清为什么我点了提交(修改)以后无法同步设置,原来是内容已经提交到远程仓库,导致远程仓库已经与本地仓库是一致的,你提交(修改)并没有可以修改的东西,所以这个只适用于本地提交了但是还没有远程推送的时候使用!这里总结一下相关的知识点,增加记忆
1. 提交 (Commit)
- 作用:将修改的文件保存到本地 Git 仓库中,生成一个新的提交记录。
- 适用场景:当你做了一些修改,想把这些修改保存到本地仓库,但还不推送到远程仓库时,使用 提交。
如何使用:
- 在 VS Code 中,点击 提交 按钮,输入提交信息并保存修改。
或者在终端中执行:
git commit -m "提交信息"
2. 提交(修改) (Amend Commit)
- 作用:修改最近的提交(包括提交信息或代码),而不创建新的提交记录。
适用场景:
- 修改提交信息:如果刚刚提交时写错了信息,或者想更改提交信息,可以使用 提交(修改)。
- 增加漏提交的文件:如果在提交后发现漏了文件或代码,使用 提交(修改) 将漏掉的文件加入到最近的提交中。
- 避免过多的小提交:如果你做了几次小修改提交,想把它们合并为一次更合理的提交,使用 提交(修改)。
- 注意:提交(修改) 只适用于还没有推送到远程仓库的提交。如果已经推送到远程仓库,修改提交后需要使用 强制推送(
git push --force
),但这要小心,避免覆盖别人已经拉取的代码。 如何使用:
- 在 VS Code 中,点击 ...(更多操作) → 提交(修改)。
或者在终端中执行:
git commit --amend
3. 提交和推送 (Commit and Push)
- 作用:将本地的提交(通过
git commit
)推送到远程仓库,使得远程仓库也有这次提交。 - 适用场景:当你本地的代码修改已经准备好,并且想将其同步到远程仓库时,使用 提交和推送。
如何使用:
- 在 VS Code 中,点击 提交 后,再点击 推送 按钮。
或者在终端中执行:
git commit -m "提交信息" git push origin master
4. 提交和同步 (Commit and Sync)
- 作用:在提交代码的同时,拉取远程仓库的最新变化,并将本地的提交推送到远程仓库。这个操作将本地和远程的代码保持同步。
- 适用场景:当你本地代码修改已完成并且想提交,同时确保远程仓库也有你提交的内容且保持同步。同步操作会确保你拉取到远程仓库的最新代码后再推送本地的提交。
如何使用:
- 在 VS Code 中,点击 提交 后,点击 同步 按钮。
或者在终端中执行:
git pull origin master --rebase git commit -m "提交信息" git push origin master
总结:什么时候使用哪一个操作?
提交 (Commit):
- 何时使用:当你做了修改并准备将其保存到本地 Git 仓库时。此时还没有推送到远程仓库。
- 例如:修改了本地代码,准备进行一次新的提交。
提交(修改) (Amend Commit):
- 何时使用:当你刚刚提交了代码,但还没有推送到远程仓库时,想修改提交信息或增加漏提交的文件。使用 提交(修改) 会修改最近一次的提交,而不是新建一个提交。
- 例如:提交后发现漏了某个文件,或者提交信息写错了,想要修改。
提交和推送 (Commit and Push):
- 何时使用:当你已经完成本地修改并准备好将这些修改推送到远程仓库时。这个操作会将本地的提交保存到 Git 仓库,并推送到远程。
- 例如:本地代码修改完,准备将本地的提交同步到远程仓库。
提交和同步 (Commit and Sync):
- 何时使用:当你想确保本地和远程仓库的代码同步,并且本地的修改已经准备好提交。这个操作会拉取远程仓库的最新代码,进行合并(或重放变基),然后再提交和推送。
- 例如:当你的代码已经修改完成,并且你希望确保本地提交和远程仓库是同步的。
特别注意:
- 提交(修改) 功能仅适用于本地尚未推送的代码。如果你已经推送到远程仓库,使用 提交(修改) 后,需要使用
git push --force
来强制推送改动,但强制推送要小心,避免影响到其他人的工作。
版权属于:不冷
本文链接:https://www.buleng.xyz/archives/245/
转载时须注明出处及本声明