在GitHub上管理項目 branch的用法

新建repository

  本地目錄下,在命令行裏新建一個代碼倉庫(repository)
  裏面只有一個README.md
  命令如下:
  touch README.md
  git init

  初始化repository

git add README.md
  將README.md加入到緩存區

  (可以用git add --a將所有改動提交到緩存(注意是兩個槓))

 

  git commit -m "first commit"
  提交改變,並且附上提交信息"first commit"


Git push

$ git push origin test:master         // 提交本地test分支作爲遠程的master分支

$ git push origin test:test              // 提交本地test分支作爲遠程的test分支

如果想刪除遠程的分支呢?類似於上面,如果:左邊的分支爲空,那麼將刪除:右邊的遠程的分支。

 

$ git push origin :test              // 剛提交到遠程的test將被刪除,但是本地還會保存的,不用擔心。

舉個例子:

       git push origin  :origin/Android_HK_K501_77-W916 //由於:前面爲空所以本來在服務器上面存在的分支origin/Android_HK_K501_77-W916和Android_HK_K501_77-W916現在就只有一個了,因爲分支origin/Android_HK_K501_77-W916被刪除了,但是本地的還在


 


Push

  git remote add origin https://github.com/XXX(username)/YYYY(projectname).git

  加上一個remote的地址,名叫origin,地址是github上的地址(Create a new repo就會有)
  因爲Git是分佈式的,所以可以有多個remote.


  git push -u origin master
  將本地內容push到github上的那個地址上去。

  參數-u
  用了參數-u之後,以後就可以直接用不帶參數的git pull從之前push到的分支來pull

    

  此時如果origin的master分支上有一些本地沒有的提交,push會失敗.

  所以解決的辦法是, 首先設定本地master的上游分支:

  git branch --set-upstream-to=origin/master

  然後pull:
  git pull --rebase

  最後再push:

  git push

 

分支

  新建好的代碼庫有且僅有一個主分支(master),它是自動建立的。
  可以新建分支用於開發:
  git branch develop master
  新建一個叫develop的分支,基於master分支

  切換到這個分支:
  git checkout develop
  現在可以在這個develop分支上做一些改動,並且提交。
  注意:切換分支的時候可以發現,在Windows中的repository文件夾中的文件內容也會實時相應改變,變成當前分支的內容。

push方法1:

  現在如果想直接Push這個develop分支上的內容到github

  git push -u origin

  如果是新建分支第一次push,會提示:
  fatal: The current branch develop has no upstream branch.
  To push the current branch and set the remote as upstream, use
  git push --set-upstream origin develop
  輸入這行命令,然後輸入用戶名和密碼,就push成功了。

  以後的push就只需要輸入git push origin

  

  

push方法2:

  比如新建了一個叫dev的分支,而github網站上還沒有,可以直接:

  git push -u origin dev

  這樣一個新分支就創建好了。

 

push方法3:

  提交到github的分支有多個,提交時可以用這樣的格式:

  git push -u origin local:remote
  

  比如:git push -u origin master:master
  表明將本地的master分支(冒號前)push到github的master分支(冒號後)。
  如果左邊不寫爲空,將會刪除遠程的右邊分支。

 

創建分支的另一種方法

  用命令git checkout -b develop2 develop
  可以新建一個分支develop2,同時切換到這個分支

 

刪除分支

  git branch可以查看所有的分支
  git branch -d develop2 將develop2分支刪除

 

Clone

  使用git clone+github地址的方法,項目默認只有master分支。git branch也只有master

  要看所有的分支:git branch -a或者是git branch -r

  這時候要新建一個分支,叫做dev,基於遠程的dev分支:git checkout -b dev origin/dev

 

加Tag

  git tag tagname develop
  git tag中的兩個參數,一個是標籤名稱,另一個是希望打標籤的點develop分支的末梢。

 

合併分支

  git checkout master

  先轉到主分支
  git merge --no-ff develop

  然後把develop分支merge過來

  參數意義:
  不用參數的默認情況下,是執行快進式合併。
  使用參數--no-ff,會執行正常合併,在master分支上生成一個新節點。
  merge的時候如果遇到衝突,就手動解決,然後重新add,commit即可。

轉載 原文地址:http://www.cnblogs.com/mengdd/p/3447464.html
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章