今天遇到git提交的问题,一直搞不清为什么我点了提交(修改)以后无法同步设置,原来是内容已经提交到远程仓库,导致远程仓库已经与本地仓库是一致的,你提交(修改)并没有可以修改的东西,所以这个只适用于本地提交了但是还没有远程推送的时候使用!这里总结一下相关的知识点,增加记忆


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 来强制推送改动,但强制推送要小心,避免影响到其他人的工作。
最后修改:2025 年 03 月 27 日 04 : 08 PM
如果觉得此文章有用,请随意打赏