Git 指令 - 常用指令

補充

設定個人資訊

1
2
3

git config --global user.email "[email protected]"
git config --global user.name "sofast"

將推送的預設值更改為把「目前的」branch 推到它的 upstream

1
2

git config --global push.default simple

修改遠端來源

1
2

git remote set-url origin https://github.com/XXX(username)/YYYY(projectname).git

新建repository

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

1
2

touch README.md
1
2

git init

初始化repository

1
2

git add README.md

將README.md加入到緩存區

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

1
2

git commit -m "first commit"

提交改變,並且附上提交資訊”first commit”

Push

1
2

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

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

1
2

git push -u origin master

將本地內容push到github上的那個位址上去。

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

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

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

1
2

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

然後pull:

1
2

git pull --rebase

最後再push:

1
2

git push

分支

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

1
2

git branch develop master

新建一個叫develop的分支,基於master分支

切換到這個分支:

1
2

git checkout develop

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

push方法1:

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

1
2

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

1
2

git push --set-upstream origin develop

輸入這行命令,然後輸入用戶名和密碼,就push成功了。

以後的push就只需要輸入

1
2

git push origin

push方法2:

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

1
2

git push -u origin dev

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

push方法3:

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

1
2

git push -u origin local:remote

比如:

1
2

git push -u origin master:master

表明將本地的master分支(冒號前)push到github的master分支(冒號後)。
如果左邊不寫為空,將會刪除遠端的右邊分支。

創建分支的另一種方法

用命令

1
2

git checkout -b develop2 develop

可以新建一個分支develop2,同時切換到這個分支

刪除分支

可以查看所有的分支

1
2

git branch

將develop2分支刪除

1
2

git branch -d develop2

Clone

使用git clone+github位址的方法,專案預設只有master分支。git branch也只有master

要看所有的分支:

1
2

git branch -a

或者是

1
2

git branch -r

這時候要新建一個分支,叫做dev,基於遠端的dev分支:

1
2

git checkout -b dev origin/dev

加Tag

1
2

git tag tagname develop

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

合併分支

1
2

git checkout master

先轉到主分支

1
2

git merge --no-ff develop

然後把develop分支merge過來

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

轉載:在GitHub上管理项目