主要步驟

以下步驟整理自參考資料的第一個連結:

  • Step 1: 到你想修改的專案的GitHub頁面,按下 Fork,這時會把這個專案複製一份到你自己的倉庫裡
  • Step 2: 將這個自己倉庫裡的專案 git clone 到自己的電腦裡
  • Step 3: 開一個新的分支 git checkout -b <新分支名>
  • Step 4: 開始修改原始碼
  • Step 5: commit 修改後的原始碼
    • git add
    • git commit -m <commit的訊息>
  • Step 6: 將這一份專案重新 push 回到 GitHub
    • git push origin <新分支名>
  • Step 7: 接下來到你自己GitHub倉庫,找到你剛剛 push 上去的專案,應該會在專案頁面看到一個 Compare & pull request 的綠色按鈕,按下去,這一步會開始比對程式碼是否可以跟原作者的程式碼合併在一起。一個理解 Pull request 的方式就是想像那個原作者站在他的專案裡面,現在你想要「要求」他將你所更新的程式碼給「拉」進來他的專案中。
  • Step 8: 填寫 Pull request 的標題和內文,稍微敘述一下你做了什麼,然後按 Create pull request 後送出。
  • Step 9: 接下來就等email通知,原作者是否接受你所做的 Pull request

在參考資料的第二個連結中,還多了三個步驟要插在上述的 Step 2 後面,主要是做更多的檢查工作,已確保你clone下來的程式碼與原專案的程式碼是同步的(想像一個情況,就在你clone下來以後,原作者剛好更新了他的程式碼,那麼這時你手上有的就不是最新的了),在這裡先一併補上:

  • 檢查你clone下來的專案的 "origin" remote 是不是就是剛剛 fork 進你 GitHub 倉庫裡的那個(如果Step 1, 2有做對的話,通常這一步就是正確的)
    • git remote -v 做檢查
  • 將原作者的專案設為 "upstream" remote
    • git remote add upstream <原作者的專案的Git網址>
  • 從上一部所設定的 "upstream" remote 下載原作者最新的程式碼
    • git pull upstream master

參考資料

留言與分享

git筆記

分類 Git

commit


分支branch

branch本質上僅僅是個指向 commit 物件的可變指標。Git 會使用 master 作為分支的預設名字。在若干次提交後,你其實已經有了一個指向最後一次提交物件的 master 分支,它在每次提交的時候都會自動向前移動。

分支其實就是從某個commit物件往回看的歷史。

建立新分支

1
$ git branch <new_branch_name>

這個指令僅僅建立了新的分支,而不會自動將所在位址切換到這個新分支上。要切換到新分支上,需透過下方的git checkout指令:

1
$ git checkout <branch_name>

執行 git checkout 就是把HEAD指標指到新的分支上。

捷徑:建立新分支,同時切換到該分支

1
$ git checkout -b <new_branch_name>

合併分支

使用merge

使用rebase


指向目前所在分支HEAD指標

指向目前所checkout的commit
每次執行git checkout指令,都會連帶改動HEAD所指向的reference。

例如在執行下面代碼後:

1
$ git checkout <a_commit>

HEAD就會同時指向該a_commit

HEAD通常指向一個分支的名稱

留言與分享

  • 第 1 頁 共 1 頁
作者的圖片

puerdon

學習筆記 / 資源整理 / 雜物堆放


語言學研究