Git 提交与 Git 推送
在本教程中,我们将了解 git commit
和 git push
之间的区别。
Git 是一个分布式版本控制系统,它跟踪文件的变化,通常在协作开发环境中。
Git 为每个开发人员(即)每台机器提供了作为仓库跟踪的项目目录完整历史记录的本地副本。然后将任何本地更改从本地仓库复制到远程仓库。
此外,远程仓库上的任何更改都会被提取到本地仓库中。
Git 提供命令 git commit
和 git push
来实现这些目标。
我们现在将通过一个例子详细说明它们之间的区别。
Git 中 git commit
和 git push
之间的区别
git commit
和 git push
的基本区别在于 git commit
的范围是本地仓库,而 git push
的范围是远程仓库。
git push
命令总是在执行 git commit
命令之后出现。
当我们执行 git commit
命令时,会捕获项目当前暂存更改的快照。git add
命令执行更改的暂存。
git push
命令将本地仓库内容推送到远程仓库。此命令将提交从本地仓库传输到远程仓库。
假设我们在本地仓库中有一个名为 sample.txt
的文件,我们已对其进行了更新,并且还使用 git add
命令暂存了文件的更改。
现在,我们将检查本地仓库的状态,如下所示。
$ git status
On branch main
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: sample.txt
我们可以看到文件 sample.txt
的更改显示为准备好提交。
我们现在将使用 git commit
命令来执行此操作。用消息提交更改的 git commit
命令的语法是 git commit -m <message>
。
因此,我们将执行以下操作。
$ git commit -m "updated sample.txt"
我们现在将检查本地仓库的 Git 日志,如下所示。
$ git log --oneline
4488776 (HEAD -> main) updated sample.txt
...
我们现在可以在 Git 日志中看到文件 sample.txt
的提交。此提交位于本地仓库索引的 HEAD
。新提交是索引的 HEAD
的直接子节点,以及分支即。main
更新为指向它。
我们现在将执行 git push
命令将提交推送到远程仓库。git push
命令的语法是 git push <remote-repository> <branch>
。
因此,我们将执行以下操作。
$ git push origin main
我们现在已经将提交推送到由别名 origin
和远程分支 main
给出的远程仓库。
我们现在将重新检查 Git 日志,如下所示。
$ git log --oneline
4488776 (HEAD -> main, origin/main) updated sample.txt
...
在 Git 日志中,我们现在可以看到文件 sample.txt
的提交已显示。
提交现在位于本地仓库索引的 HEAD
和远程仓库的远程分支中。
因此,我们详细说明了 Git 中的命令 git commit
和 git push
之间的区别。