1. 程式人生 > >【Git】常用命令commit提交,push推送,merge,新增分支branch

【Git】常用命令commit提交,push推送,merge,新增分支branch

1.常用操作:

1.新增跟蹤檔案

git add .

git add -A

根據ignore的配置,新增跟蹤檔案,其中的.或-A表示新增所有更改過的檔案。

2.檢視狀態

git status

3.提交到本地:

git commit -m "說明"

引號內為本次提交的說明文字。如果說明文字很長需要換行,則用單引號來換行,如:

git commit -m '
第一行
第二行
'

(注意開始和結束時的兩個單引號)

4.推送到預設分支

git push

如果當前分支是master則自動推送到maser分支。如果是遠端分支的話,此時github伺服器上才是會被真正的改變。

5.從遠端分支合併到本地

git pull

當合並完後,如果提示有衝突,則輸入

mergetool beyondmerge

進行衝突處理,然後在push上去。

6..gitignore修改之後,清除快取,使之重新生效,注意前兩行後面的小數點。

git rm -r --cached .
git add .
git commit -m "xxxx"

7.徹底回退到某個commit

先使用以下命令檢視想回退到的commit的id是多少,id就是一串長長的數字。

git log

然後使用:(注意命令中的兩個“-”)以下命令,徹底回退到這個commitid上。

git reset --hard <commit_id>

如果想清空這個commitid之後所有已經提交了的commit,則繼續執行以下命令:

git push origin HEAD --force             注意是兩個橫崗

2.分支操作

1.檢視所有分支

用命令:git branch -a

$ git branch -a
* gym
  master
  remotes/origin/HEAD -> origin/master
  remotes/origin/gym
  remotes/origin/master

結果裡一共5個分支,帶remotes的是遠端分支,不帶的是本地分支。前面帶*號的表現當前所處的分支。

master就是主分支,當你從github上clone下之後,預設就是clone的主分支(master)。那麼那個origin是什麼意思呢?你可以把他理解為你倉庫的網址,如:https://www.xxxx.com/123.git。

2.建立新分支

命令:git branch test。將會建立一個名為test的新分支

然後再次檢視所有分支:

git branch -a
* gym
  master
  test
  remotes/origin/HEAD -> origin/master
  remotes/origin/gym
  remotes/origin/master

可以看到已經有了新分支test。

接下來再把新分支推送到遠端分支(github倉庫上):

$ git push origin test 

然後再檢視所有分支:

$ git branch -a
* gym
  master
  test
  remotes/origin/HEAD -> origin/master
  remotes/origin/gym
  remotes/origin/master
  remotes/origin/test

可以看到remotes中又多了一個遠端test分支。

3.切換分支

$ git checkout test 

然後再次檢視所有分支,你就會 發現這次*號在test分支上面。

如果以後在push,pull的時候就想用這個分支了,不用master分支了,就繼續輸入:

$ git push --set-upstream origin test

將pull push等操作的預設分支設為test,否則以後pull push的時候每次都要指定哪個分支。

4.刪除本地分支test

$ git branch -d test
已刪除分支 test(曾為 eef866f)。

再次檢視所有分支:

$ git branch -a
* gym
  master
  remotes/origin/HEAD -> origin/master
  remotes/origin/gym
  remotes/origin/master
  remotes/origin/test

發現本地test分支已經沒有了。

5.刪除遠端分支

刪除完本地,就應該刪除遠端了。輸入以下命令:

$ git branch -r -d origin/test
已刪除遠端分支 origin/test(曾為 eef866f)。

然後在輸入:

$ git push origin --delete test

才是真正的刪除遠端分支。

6.合併分支

如果我們想把test分支合併到master分支中,該怎麼弄呢?首先先切換到master分支,然後執行

git merge test

7.衝突合併

git mergetool

然後輸入:

beyond compare

寫在最後:如果大家實在記不住這些複雜的命令,推薦使用SourceTree這個視覺化工具,絕對好用。