Git 提交與 Git 推送

Azhar Bashir Khan 2022年4月22日
Git 提交與 Git 推送

在本教程中,我們將瞭解 git commitgit push 之間的區別。

Git 是一個分散式版本控制系統,它跟蹤檔案的變化,通常在協作開發環境中。

Git 為每個開發人員(即)每臺機器提供了作為倉庫跟蹤的專案目錄完整歷史記錄的本地副本。然後將任何本地更改從本地倉庫複製到遠端倉庫。

此外,遠端倉庫上的任何更改都會被提取到本地倉庫中。

Git 提供命令 git commitgit push 來實現這些目標。

我們現在將通過一個例子詳細說明它們之間的區別。

Git 中 git commitgit push 之間的區別

git commitgit 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 commitgit push 之間的區別。

相關文章 - Git Commit

相關文章 - Git Push