2021-05-12 14:32:11
Git常用命令整理
本人認為比較重要的一些 Git常用命令,主要供自己查閱使用。
遠端倉庫
新增遠端倉庫
git remote add origin git@server-name:path/repo-name.git #新增一個遠端庫
檢視遠端倉庫
git remote #要檢視遠端庫的資訊 git remote -v #顯示更詳細的資訊
推播分支
git push origin master #推播到遠端master分支
抓取分支
git clone git@server-name:path/repo-name.git #克隆遠端倉庫到本地(能看到master分支) git checkout -b dev origin/dev #建立遠端origin的dev分支到本地,並命名為dev git checkout origin/dev --track #與上面效果一樣 git pull origin master #從遠端分支進行更新 git fetch origin master #獲取遠端分支上的資料
抓取GitHub上某個pull request到本地
git fetch origin pull/ID/head:BRANCHNAME
git checkout BRANCHNAME
$ git branch --set-upstream branch-name origin/branch-name
,可以建立起本地分支和遠端分支的關聯,之後可以直接git pull
從遠端抓取分支。
另外,git pull
= git fetch
+ merge
to local
刪除遠端分支
$ git push origin --delete bugfix To https://github.com/dijia478/bos - [deleted] bugfix # 或者直接push一個空分支 $ git push origin :bugfix To https://github.com/dijia478/bos - [deleted] bugfix
更新遠端分支資訊
專案往前推進的過程中,遠端倉庫上經常會增加一些分支、刪除一些分支。 所以有時需要與遠端同步下分支資訊。
git fetch -p
歷史管理
檢視歷史
git log --pretty=oneline filename #一行顯示 git log -p -2 #顯示最近2次提交內容的差異 git show cb926e7 #檢視某次修改
版本回退
git reset --hard HEAD^ #回退到上一個版本 git reset --hard cb926e7 #回退到具體某個版 git reflog #檢視命令歷史,常用於幫助找回丟失掉的commit
用HEAD表示當前版本,上一個版本就是HEAD^
,上上一個版本就是HEAD^^
,HEAD~100
就是上100個版本。
管理修改
git status #檢視工作區、暫存區的狀態 git checkout -- <file> #丟棄工作區上某個檔案的修改 git reset HEAD <file> #丟棄暫存區上某個檔案的修改,重新放回工作區
檢視差異
git diff #檢視未暫存的檔案更新 git diff --cached #檢視已暫存檔案的更新 git diff HEAD -- readme.txt #檢視工作區和版本庫裡面最新版本的區別 git diff <source_branch> <target_branch> #在合併改動之前,預覽兩個分支的差異
使用內建的圖形化git:gitk
,可以更方便清晰地檢視差異。當然 Github 用戶端也不錯。
刪除檔案
git rm <file> #直接刪除檔案 git rm --cached <file> #刪除檔案暫存狀態
儲藏和恢復
git stash #儲藏當前工作 git stash list #檢視儲藏的工作現場 git stash apply #恢復工作現場,stash內容並不刪除 git stash pop #恢復工作現場,並刪除stash內容
分支管理
建立分支
git branch develop #只建立分支 git checkout -b master develop #建立並切換到 develop 分支
合併分支
git checkout master #切換到主分支 git merge --no-ff develop #把 develop 合併到 master 分支,no-ff 選項的作用是保留原分支記錄 git branch -d develop #刪除 develop 分支
標籤
顯示標籤
git tag #列出現有標籤 git show <tagname> #顯示標籤資訊
建立標籤
git tag v0.1 #新建標籤,預設位 HEAD git tag v0.1 cb926e7 #對指定的 commit id 打標籤 git tag -a v0.1 -m 'version 0.1 released' #新建帶注釋標籤
操作標籤
git checkout <tagname> #切換到標籤 git push origin <tagname> #推播分支到源上 git push origin --tags #一次性推播全部尚未推播到遠端的本地標籤 git tag -d <tagname> #刪除標籤 git push origin :refs/tags/<tagname> #刪除遠端標籤
Git 設定
設定 commit 的使用者和郵箱
git config user.name "xx" #設定 commit 的使用者 git config user.email "xx@xx.com" #設定 commit 的郵箱 git commit --amend --author "Jark Wu <imjark@gmail.com>" #修改上次提交的使用者資訊 git config format.pretty oneline #顯示歷史記錄時,每個提交的資訊只顯示一行
GitHub 教學系列文章:
通過GitHub建立個人技術部落格圖文詳解 http://www.linuxidc.com/Linux/2015-02/114121.htm
GitHub 使用教學圖文詳解 http://www.linuxidc.com/Linux/2014-09/106230.htm
使用 GitHub / GitLab 的 Webhooks 進行網站自動化部署 http://www.linuxidc.com/Linux/2016-06/131993.htm
多個GitHub帳號的SSH key切換 http://www.linuxidc.com/Linux/2016-05/131080.htm
如何在同一台電腦上使用兩個GitHub賬戶 http://www.linuxidc.com/Linux/2016-05/131079.htm
利用GitHub搭建個人Maven倉庫 http://www.linuxidc.com/Linux/2016-04/130197.htm
一分鐘認識GitHub http://www.linuxidc.com/Linux/2015-11/125089.htm
分享實用的GitHub 使用教學 http://www.linuxidc.com/Linux/2014-04/100556.htm
GitHub使用操作指南 http://www.linuxidc.com/Linux/2016-10/135782.htm
GitHub使用方法入門基礎 http://www.linuxidc.com/Linux/2017-05/144084.htm
相關文章