1. 程式人生 > >[開發必備]GIT常用命令

[開發必備]GIT常用命令

  • GIT基本命令(整理完畢)

1.獲取當前遠端倉庫路徑 git remote -v

2.獲取當前使用者資訊 git config user.name

git config user.email

3.更改當前使用者資訊 git config —-global user.name “momfeng”

git config —-global user.email “@.com”

4.初始化git版本倉庫 git init

5.git add readme.txt

6.git commit -m “first commit”

7.對比檔案的修改 git diff [raedme,txt]

8.檢視當前提交日誌 git log

9.回退到上一個版本 git reset --hard Head^

Ps:上一個版本就是HEAD^,上上一個版本就是HEAD^^,當然往上100個版本寫100個^比較容易數不過來,所以寫成HEAD~100。

10.指定跳轉到某一個版本 git reset --hard [1094a]

Ps:版本號無需寫全,git會自動查詢

11.記錄你每次都回退版本操作 git reflog

12.檢視工作區版本庫和最新版本庫的區別 git diff HEAD — readme.txt

13.取消檔案在工作區的更改 git checkout -- [readme.txt]

14.取消檔案在快取區的更改 git reset HEAD [file]

15.從版本庫中刪除檔案 git rm [檔名]

16.建立ssh key ssh-keygen -t rsa -C "[email protected]

17.把已有倉庫與git關聯

git remote add origin [[email protected]:MomFeng/gitStudy.git]

18.推送程式碼到遠端倉庫 git pull —rebase 將提交約線圖平坦化

git merge --no-ff 刻意製造分叉。

Ps:與git pull git merge效果一樣

19.解除關聯遠端倉庫 git remote remove origin

20.新建分支 git branch [name]

21.將原生代碼推送到分支 git push -u origin [name]

22.將原生代碼推送到遠端倉庫,用於完成第一次推送 git push -u origin master

Ps:以後再次推送只需git push

23.合併遠端分支的內容 git pull --rebase origin master

24.建立分支並切換到分支 git checkout -b dev

Ps:相當於兩條命令使用 git branch dev

git checkout dev

25.檢視當前分支狀態 git branch(當前分支前面會標一個*號)

26.切換分支 git checkout master

27.將分支dev的內容合併到master上 git merge devgitgit 

28.刪除分支 git branch -d dev

Ps:無視警告,強制刪除git branch -D dev

29.以圖形結構圖來顯示提交狀態樹 git log --graph --pretty=oneline --abbrev-commit

Ps:這個命令也可以顯示圖形 git log —graph

    不顯示圖,顯示版本編號 git log --pretty=oneline --abbrev-commit

30.合併分支 git merge --no-ff -m "merge with no-ff” dev

Ps:合併分支時,加上--no-ff引數就可以用普通模式合併,合併後的歷史有分支,能看出來曾經做過合併,而fast forward合併就看不出來曾經做過合併。

Ps:不用--no-ff,實際上只是將master的指標update成dev分支而已,用的還是dev的commit ID,而使用之後,則是重新commit了一哈,有了新的commit ID

31.儲存當前的工作狀態 git stash

Ps:並非提交,而是暫存起來,然後清空了工作區

32.檢視之前快取的工作狀態列表 git stash list

33.恢復到之前到工作狀態快取 git stash apply

34.刪除掉stash的內容 git stash drop

35.恢復快取的同時並且刪除 git stash pop

36.恢復到指定的快取 git stash apply [email protected]{0}

37.關聯本地dev分支與遠端dev分支 git push --set-upstream origin dev

38.打標籤 git tag [v1.0]

39.對指定版本打標籤 git tag [v0.9] [0998940]

40.檢視當前所有標籤 git tag

41.檢視具體一個標籤的資訊 git show v1.0

42,指定打標籤的資訊 git tag -a <tagname> -m "blablabla…"

43.推送某個標籤到遠端 git push origin v1.0

44.推送全部標籤到遠端 git push origin —tags

45.刪除遠端標籤,先刪除本地標籤,再刪除遠端標籤

刪除本地標籤 git tag -d v0.9

再刪除遠端標籤 git push origin :refs/tags/v0.9

46.強制新增一個被.gitignore忽略的檔案到git git add -f [App.class]

Ps:忽略規則檔案可參考https://github.com/github/gitignore/blob/master/Android.gitignore開源庫

47.檢查哪個規則阻止了檔案的新增 git check-ignore -v [App.class]

48.配置簡寫命令(status -> st) git config --global alias.st status

Ps: git config --global alias.co checkout

git config --global alias.ci commit

git config --global alias.br branch

git config --global alias.unstage 'reset HEAD'

配置Git的時候,加上--global是針對當前使用者起作用的,如果不加,那隻針對當前的倉庫起作用。

每個倉庫的Git配置檔案都放在.git/config檔案中