GitHub從fork到pull request之基礎流程
阿新 • • 發佈:2019-01-03
之前接觸了github,但每次使用都還要查閱一些基礎用法,因此打算在此總結回顧一下。
首先來一遍從fork到pull request這個過程的基礎流程
首先,fork 一個repository,實際上是複製了一份 repository 到自己的 GitHub 賬戶下,然後就可以從 GitHub 將它 clone 到你的電腦上,命令如下:
git clone <URLFROMGITHUB>
連線到原始的Repository,因為如果原始的Repository內容有所改變時,我們希望能夠pull這些變化,所以新增一個遠端連結,並把它命名為’upstream’,命令如下:
git remote add upstream <URLFROMUPSTREAMGITHUB>
新增branch分支,並選用新增分支。避免與主分支master造成衝突,當我們在新增分支上完成了自己的功能後再合併到主分支,命令如下:
git branch <BRANCHNAME>
git checkout <BRANCHNAME>
git checkout -b <BRANCHNAME>
–建立新的分支並切換到新的分支上
記錄,在我們自己的分支上修改後,需要記錄下來。
git status
–檢視當前狀態git add -A
–記錄修改檔案,加上 -A,會將新增檔案跟刪除檔案的動作一起記錄下來git commit -m "add a file"
–提交全部修改git checkout master
–第二天開始工作前,切換到master分支git pull origin master
–從master的遠端分支拉取程式碼git checkout <BRANCHNAME>
–切換到task所在的本地分支git rebase -i master
–將master上的最新的程式碼合併到當前分支上,這裡的-i的作用是將我們 當前分支之前的commit壓縮成為一個commit,這樣做的好處在於當我們之後建立pull request並進行相應的code review的時候,程式碼的改動會集中在一個commit,使得code review更直觀方便git push --set-upstream origin <my branch name>
–最後,當task的所有編碼完成之後,將程式碼push到遠端分支
先獲取遠端,再提交,每次提交程式碼前,都需要先獲取最新程式碼,防止覆蓋他人程式碼
git fetch --dry-run
–檢查遠端是否有變動git pull
–從遠端分支更新最新程式碼
建立Pull Requests,進入你的github專案頁,一般情況下 GitHub會檢測到你有了新的推送,會主動提示你,點選Create pull request,寫上說明,再按Send pull request就完成了,如果 Pull Request 沒有問題的話,很快就會被自動合併 merged 了哦!
本地合併分支,並刪除分支,將分支合併到主分支上,並刪除之
git checkout master
–首先切換到主分支中git merge <BRANCHNAME>
–合併另一個分支進來git branch -d <BRANCHNAME>
–刪掉剛剛合併的分支git push <REMOTENAME> --delete <BRANCHNAME>
–也可以把合併分支從GitHub上的副本repository中刪除
其他常用命令
git init
–將一個資料夾初始化為git倉庫git status
–檢查當前repository中的修改git diff
–檢視對檔案的修改git add <FILENAME>
–準備提交對於一個檔案的修改git add .
–準備提交對所有檔案的修改git commit -m "<your commit message>"
–提交你所準備好的修改,並附上簡短說明git config --global user.username <USerNamE>
–配置github賬號git remote add <REMOTENAME>
–新增遠端連結git remote set-url <REMOTENAME>
–對一個遠端設定地址git remote add <REMOTENAME> <URL>
–新增帶地址的遠端連結git remote -v
–檢視所有遠端git pull <REMOTENAME> <BRANCHNAME>
–從一個遠端收取更新(預設為主分支)git push <REMOTENAME> <BRANCHNAME>
–提交程式碼到指定遠端(預設為主分支)git branch -M <NEWBRANCHNAME>
–修改當前分支名字git branch
–列出所有分支git clone <URL>
–複製repository 到自己電腦