????????最近開始用git終端提交代碼,梳理了一些知識點
一 關于分支
????????關于分支,git的分支分為本地分支遠程分支兩種分支,在上傳代碼時,我們要確保當前本地分支連接了一個遠程分支。
? ? ? ? 我們可以通過下面代碼查看當前的本地分支:
git branch -a
? ? ? ?可以看到終端給出的圖如下,我們當前本地的分支為master,當前本地有兩個分支,分別為:
? ? ? ? ? ? ? ? master、temp兩個本地分支
????????我們可以通過下面的代碼查看當前的遠程分支:
git branch -r
? ? ? ? 可以看到如下圖,遠程分支只有一個,master主分支,我們當前連接的也是這個分支
? ? ? ? 切換分支使用下面這個命令:
//git checkout 分支名字
git checkout master //切換到本地分支master
git checkout temp //切換到本地分支temp
git checkout origin/master //切換到遠程分支master
? ? ? ? 切換本地分支時,當前本地分支如果有對應連接的遠程分支終端會有提示:
? ? ? ? ?上圖中:Your branch is up to date with 'origin/master'.提示當前分支與遠程origin/master分支連接。
? ? ? ? 切換到遠程的一個分支時終端顯示如下:
? ? ? ? ?此時已經切換到了遠程origin/master分支下了,注意切換時需要帶上遠程主機名字origin
切換成功后我們再使用git branch -a查看分支,顯示如下:
? ? ? ? 可以看到當前分支為遠程的origin主機下master分支了
二? 關于merge?
? ? ? ? 在我們實際開發時,通常我們會建立一個本地分支,比如:我建立一個本地的temp分支
git branch temp
? ? ? ? 然后我打開開發工具,寫了很多自己新的代碼,我在本地的這個temp分支上進行add commit
git add .
git commit -m "備注信息"
? ? ? ? 這個本地的分支并沒有連接遠程的某個分支,當我們提交代碼時,需要切換到一個有連接遠程分支的本地分支,這里由本地分支temp,切換到本地分支master,本地分支連接著遠程的origin/master分支
git checkout master
然后我們進行merge,merge后temp我們新的代碼就到了本地分支master上了
git merge temp
????????然后現在我們可以提交了
git pull origin master
git push origin master
? ? ? ? 在遠端使用網頁查看代碼庫時,可以看到commit的備注信息為我們在temp分支里commit的備注信息,此時我們就把代碼提交完成了
三 關于 git pull 與 git push? ?
? ? ??git pull 遠程主機名? 遠程分支名:本地分支名,git push 遠程主機名 遠程分支名
? ? ? 所以,git pull origin master,拉取的就是遠程分支remotes/orgin(主機名)/master(分支名)
? ? ? 同理,git push origin?master, 推送的就是遠程分支remotes/orgin(主機名)/master(分支名)
????????