[開發必備]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檔案中