GIt倉庫

一、把文件提交到版本庫:git

二、版本回退:github

三、還原文件操做:spa

四、撤銷修改:指針

五、刪除文件:日誌

六、添加遠程庫:開發

七、從遠程庫克隆:rem

八、建立和合並分支:it

九、解決衝突:ast

十、分支管理:stream

十一、Bug分支:

十二、feature分支:

1三、多人協做:

 

 

開始:

  1. 在電腦中有一個合適的位置建立一個空的文件夾
  2. 經過git init命令將這個文件夾變成Git可管理的倉庫

把文件提交到版本庫:

  1. 用git add + 文件名 將這個文件添加到暫存區
  2. git commit -m"" 在暫存區的文件提交到當前的分支。   引號內部是對本次提交的一個說明,要有意義的,這樣就能從歷史記錄中找到改動記錄。

  commit能夠一次提交不少的文件,因此你能夠屢次add不一樣的文件而後再一次行commit。

版本回退:

  Git倉庫中有一個HEAD指針,指向的是當前版本,Git能夠在版本的歷史之間來回穿梭:git reset --hard commit-id

  穿梭到前面的版本:可使用git log查看提交日誌,方便肯定回退到哪個版本。

  回來將來的版本: 用git reflog查看歷史命令

還原文件操做:

  git checkout -- <filename> 會產生兩種狀況:一、在你作出修改後尚未添加到暫存區,如今撤銷就是回到和版本庫一摸同樣的狀態。 二、添加到了暫存區,又做了修改,如今撤銷就是回到添加到暫存區後的狀態

  總之就是能夠回到最近一次git commit 或git add 時的狀態

撤銷修改:

  添加到了暫存區尚未提交,可使用git reset HEAD <filename>能夠把暫存區的修改撤銷掉,從新放回到工做區。

刪除文件:

  在文件管理器中能夠直接rm <filename>可是這時候工做區和版本庫就不一致了

  兩個選擇:一、肯定要從版本庫中刪除該文件,就用git rm <filename>進行刪除, 而且進行git commit。 二、刪錯了,那麼版本庫中仍是存在的,可使用git checkout -- <filename>將誤刪的文件恢復到最新版本。

  刪除GitHub上的文件:git rm -r --cached <文件名>  完成這步操做以後還須要將此次操做進行一次commit,而後才能完成刪除的整個過程

  git rm用於刪除文件,若是文件已經被提交到了版本庫,那沒必要擔憂誤刪,可是隻會恢復到最新的一次提交,會丟失最近一次提交後修改的內容。

添加遠程庫:

  1. 登錄GIthub,建立一個新的倉庫
  2. git remote add origin git@github.com:帳戶名字/倉庫名字.git(origin是遠程庫的名字,輕易不要進行修改)
  3. 將本地庫的內容推送到遠程庫中:git push -u origin master  (將本地的master分支推送到遠程的master分支上)

  因爲剛開始遠程庫是空白的,因此第一次推送master時要加上-u,以後Git不但會把本地的master分支上的內容推送到遠程新的master分支,還會吧本地和遠程鏈接起來,之後再推送就能夠git push origin master

從遠程庫克隆:

  git clone git@github.com:帳戶名/倉庫名.git

建立和合並分支:

  一開始master是一條線,Git用master指向最新提交,再用HEAD來指向master。每次提交master都會遷移一步,隨着不斷提交,master分支會愈來愈長。

  建立分支:建立一個dev分支並切換到dev分支:git checkout -b dev 這是將兩步合成了一步一、git branch dev:建立dev分支 二、git checkout dev :切換到dev分支

  建立完成分支以後,進行你想要進行的一些修改,而後再切回到master分支

  合併分支:git merge + <分支名>用於合併指定的分支,直接將master指向了dev分支,在完成以後就能夠刪除dev分支了:git branch -d dev

解決衝突:

  當Git沒法自動合併分支時,必須手動進行合併,解決以後再進行提交,合併完成。(其實就是把Git合併失敗的文件手動編輯爲咱們但願的文件,再進行提交)

  git log --graph --pretty=oneline -abbrev-commit :查看分支合併圖

分支管理:

  Fast Forward模式:這種方式刪除分支會丟掉分支信息(Git默認的就是使用的這種方式)  

  如何要禁止Fast Forwar?  Git會在merge時生成一個新的commit,這就能夠從歷史上看出提交的信息了。

  建立dev分支

  修改文件並提交新的commit

  切回到master(主分支)

  最後進行合併分支git merge --no-ff -m"" dev

  首先master應該是很是穩定的,僅是用來發布最新的版本,每一個人都應該擁有屬於本身的分支,而後在dev上進行幹活。

Bug分支:

  當出現Bug時,這時候手頭上的工做也尚未完成,能夠先git stash一下,而後去修改Bug,修復完成後,在git stash pop回到工做現場

feature分支:

  開發新的功能最好新建一個feature分支。

  若是要丟棄一個沒有被合併過的分支,能夠用git branch -D <分支名> 來進行強行刪除

多人協做:

  從本地分支推送:git push origin branch-name  若是失敗的話能夠先git pull 一下抓去遠程的最新提交。

  在本地建立和遠程分支對應的分支:git checkout -b branch-name origin/branch-name  本地分支最好和遠程分支名稱保持一致

  創建本地分支和遠程分支的關聯:git branch --set-upstream branch-name origin/branch-name

  從遠程抓取分支,用git pull 若是有衝突按照上面的方法解決衝突

相關文章
相關標籤/搜索