天天看點

在GitHub上管理項目

在GitHub上管理項目,一些基本的Git指令,不斷補充中。

在GitHub上管理項目

建立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"

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即可。

相關連結:  

  GitHub網址:https://github.com/

作者: 聖騎士Wind

出處: 部落格園: 聖騎士Wind

Github: https://github.com/mengdd

微信公衆号: 聖騎士Wind

在GitHub上管理項目
git