git是分布式版本控制系統,最重要的優點就是遠端倉庫託管**。不用自己搭建乙個伺服器,在github上面註冊乙個賬戶就可免費獲取遠端倉庫。
第一次推送的時候需要本地庫關聯遠端庫,使用命令git remote add origin git@server-name:path/repo-name.git
origin後面實際上是遠端庫的ssh位址。
關聯之後,使用命令git push -u origin master第一次推送master分支的所有內容。第一次的時候需要使用 -u,在此後的每一次推送的時候只需要git push origin master就可以了。
當我們第一次開發專案的時候,我們需要從遠端庫獲取別人的**,這時候就需要從遠端庫轉殖乙個本地庫。命令:
$ git clone [email protected]:michaelliao/gitskills.git
clone後面是git遠端庫ssh的位址
除了ssh位址之外,也可以使用https的位址。
git作為分布式版本控制系統,多線共同開發的優點體現在分支的管理上,所有的分支提交情況git的視覺化工具都可以很清晰的看得到。git的分支提交和合併十分的快。關鍵在於分支的切換和合併。一般在乙個團隊合作的專案中,會建立乙個主分支master,master主分支十分穩定,僅用來發布新版本,然後團隊開發都在dev分支上,給每個開發者建立乙個分支,各個開發者單獨開發,互不影響,開發者時不時就將開發的功能合併到dev中,然後功能點足夠發布乙個新版本之後再將dev合併到master分支,這樣master分支就具備了每個開發者的開發的功能。
分支管理的流程如下:
1、合併分支
比如建立乙個叫dev的分支,然後切換到dev分支
建立分支
1
$ git branch dev
切換分支git checkout 不使用--的時候是指切換都某分支。
1
$ git checkout dev
檢視所有分支
1
$ git branch
現在head在dev分支上,然後在dev分支進行提交
1
2
$ git add <
file
>
$ git commit -m
"new branch first commit"
這時dev分支的工作結束了,切換回master分支
1
$ git checkout master
然後這時候需要將dev的內容合併到master分支上
1
$ git merge dev
這時候就完成了一次分支合併,因為分支的建立和合併都很快,最好的建議是master合併完檔案之後建議將其他分支刪除掉,但是如果還在繼續開發的話則不需要了。
刪除分支
1
$ git branch -d dev
2、分支衝突
合併分支的時候總會出現衝突, 分支衝突的原因是兩個分支同時做了各自的修改,在合併的時候git就會檢測到合併位置出現了兩種不同的修改,出現衝突的解決辦法是在master修改好衝突檔案,然後重新提交就可以了。多人協作衝突,當你要提交到dev的時候發現和其他人的檔案修改衝突了,可以先git pull拉取下來,然後再本地合併,解決衝突後再推送。git用<<<<<<<,*****==,>>>>>>>標記出不同分支的內容。
解決衝突之後可以使用git log命令檢視分支合併情況。
1
$ git log --graph --pretty=oneline --abbrev-commit
git遠端分支管理
1.建立 remote mkdir my project.git git init bare 2.建立本地git cd my project git init 3.連線並提交 git add git commit m commit message git remote add origin ssh ...
Git管理多個遠端分支
首先git不能單獨設定pull和push的源,也就是說pull和push的只能保持一致!背景 本人的部落格是基於hexo theme next的,但是因為個人喜好,基於原始碼做了一寫改動。可是官方原始碼更新了我也要跟著一起更新呀,於是使用git設定不同的源來保持和官方同步更新。檢視本地源 git r...
Git遠端倉庫 分支管理
一,遠端倉庫相關操作 1.轉殖遠端倉庫 到本機 git clone url 2.顯示遠端倉庫 git remote v origin fetch origin push 3.從遠端倉庫拉取資料 git pull origin master git pull origin master allow u...