Linux與命令列基礎

在 Git 中執行了 git commit,但團隊共用的 GitHub 儲存庫中還看不到該提交。理由是下列何者?

  1. Agit commit 只是把變更登錄到暫存區,要記錄必須執行 git add
  2. B要把已提交的變更送到共用的儲存庫,必須執行 git pull
  3. Cgit commit 只記錄在本地儲存庫,要送到遠端必須執行 git push
查看答案與解析

正確答案:C. git commit 只記錄在本地儲存庫,要送到遠端必須執行 git push

Git 是分散式版本控制系統,每位開發者手邊都有整個儲存庫,git commit 會把變更記錄到本地的儲存庫。要送到 GitHub 等遠端儲存庫,需執行 git push;反過來,要把遠端的新提交取回本地,則使用 git pull(或 git fetch 與 git merge)。因此即使沒有連上網路也能提交,之後再一起 push。若其他人已先 push,可能會被要求先取回對方的變更。

  • A. git add 與 git commit 的作用顛倒了。add 是暫存,commit 是記錄。
  • B. git pull 是把遠端的變更取回本地的指令,送出本地提交的是 git push。
  • C. 正確。commit 是記錄在本地,push 才送到遠端。
練習這個領域 前往領域頁面

Linux與命令列基礎的其他題目

  1. 在以 Git 管理的專案的 .gitignore 中寫了「build/」,但以前提交過的 build/out.log 的變更,仍持續出現在 git status 中。理由是下列何者?
  2. Linux 的標準目錄與其中存放的內容,下列哪一個組合正確?
  3. 關於 Linux 的 /proc 目錄,下列敘述何者正確?
  4. 目錄 /home/alice/data 存在,目前目錄為 /home/alice/work。執行「cd ../data」後再執行「pwd」時,顯示的目錄是下列何者?
  5. 在家目錄執行「ls」只顯示 notes.txt,執行「ls -a」則顯示「.」「..」「.bashrc」「notes.txt」。下列哪一個是對此結果的正確說明?