最近有小夥伴問我 git 應該怎麼學,我覺得 git 就是多用就會了,把常用的指令先看兩邊,然後再在實際過程中運用,忘了再去查一查,用多了就記住了,當然這隻是代碼管理,要達到真正的版本管理,還需要一些規範。比如送出代碼的規範,各個版本之間怎麼管理,分支怎麼管理等等,我盡量在下一篇文章中分享。
今天文章就先把一些常用的指令進行介紹,看看自己有哪些還沒用過的,記下來,說不定遇到這種事兒就會用了。
工程下載下傳、分支的增删查改
工程下載下傳:
- clone 遠端工程:git clone https://XXXX.git
-
fetch 遠端分支到本地某分支:git fetch origin
:
分支的增删查改
- 檢視分支:git branch
- 檢視遠端所有分支:git branch -r
- 檢視本地和遠端所有分支:git branch -a
- 建立分支:git branch
- 切換分支:git checkout
- 建立并切換分支:git checkout -b
- 合并某分支到目前分支:git merge
- 把分支推送到遠端:git push origin
- 删除本地分支:git branch (-d | -D)
- 删除遠端分支:git push origin -d
- 分支重命名:git branch (-m | -M)
檢視送出資訊日志
- 檢視分支最近一次的修改清單:git status
- 檢視分支的commit資訊(倒叙排列)
- git log 檢視commit id, Author, Date, commit info
- git shortlog 按送出者分類顯示送出資訊
- git log --oneline 隻輸出commit id 和 commit info
- git log --stat 檢視增删查改了哪些檔案
版本回退
- 回退到上一版本:git reset --hard HEAD^
- 回退到上上版本:git reset --hard HEAD^^
- 回退到上上版本:git reset --hard HEAD~2
- 回退到某個版本:git reset --hard
- 強制推送到遠端分支:git push -f
注意:
1、HEAD 指向的版本是目前版本,^ 表示上一個版本,~N 表示上N個版本,可簡寫
2、git log 可以檢視
3、git reflog 可以檢視指令曆史,用來回到某個未來的版本
檔案的添加、送出、拉取、推送、比對、合并
- 添加新增檔案:git add README.md
- 添加所有新增檔案:git add .
- 暫存變更檔案:git stash [save "暫存備注"]
- 恢複暫存檔案:git stash pop
- 送出變更檔案:git commit -m "變更備注"
-
拉取遠端代碼:git pull [origin
]
- 推送到遠端:git push origin
- 比對兩個分支:git diff
-
比對兩個分支變更的檔案清單:git diff
--stat
-
比對本地和遠端分支:git diff
origin/
- 合并某個分支:git merge
-
強制覆寫本地分支:
1、git fetch --all
2、git reset --hard origin/
3、git pull
常用選項和其他指令
git 中部分選項解釋
- -f --force:強制
- -d --delete:删除
- -D --delete --force
- -m --move:移動或重命名
- -M --move --force
- -r --remote:遠端
- -a --all:所有
其他指令
- 清空工程:
$ git rm -rf .
每隔X秒運作一次git pull:
for((i=1;i<=10000;i+=1)); do sleep X && git pull; done
使用git rebase将一個feature分支變基到master分支
$ git checkout feature
$ git rebase master
配置相關
- 檢視目前配置: git config --list
- 修改 git 的 name 和 email :
git config --global user.name <name>
git config --global user.email <email>
原文釋出時間為:2018-10-29
本文作者:桃翁
本文來自雲栖社群合作夥伴“
前端桃園”,了解相關資訊可以關注“
”。