1. 程式人生 > 實用技巧 >多人開發之實用小貼士:Git常用命令總結

多人開發之實用小貼士:Git常用命令總結

一、新建程式碼庫 ```javascript # 建立一個空目錄 $ mkdir learngit # cd進入空目錄 $ cd learngit # 把這個目錄變成Git可以管理的倉庫 $ git init

//Git把倉庫建好且告訴你是一個空的倉庫(empty Git repository),當前目錄下會多了一個.git的目錄,如果沒有看到.git目錄,是因為這個目錄預設是隱藏的,用ls-ah命令就可以看見 Initialized empty
Git repository in /Users/michael/learngit/.git/ # 下載一個專案和它的整個程式碼歷史 $ git clone [url] ### 二、配置 Git的設定檔案為.gitconfig,它可以在使用者主目錄下(全域性配置),也可以在專案目錄下(專案配置)

javascript # 顯示當前的Git配置 $ git config --list # 編輯Git配置檔案 $ git
config -e [--global] # 設定提交程式碼時的使用者資訊 $ git config [--global] user.name "[name]" $ git config [--global] user.email
"[email address]" ### 三、增加/刪除檔案javascript # 新增指定檔案到暫存區 $ git add [file1] [file2] ... # 新增指定目錄到暫存區,包括子目錄 $ git
add [dir] # 添加當前目錄的所有檔案到暫存區 $ git add . # 刪除工作區檔案,並且將這次刪除放入暫存區 $ git rm [file1] [file2] ... # 改名檔案,並且將這個改名放入暫存區 $ git mv
[file-original] [file-renamed] ### 四、程式碼提交
javascript #
提交暫存區到倉庫區,-m後面輸入的是本次提交的說明,可以輸入任意內容,最好是有意義的,這樣能從歷史記錄裡方便地找到改動記錄 $ git commit -m "message" # 提交暫存區的指定檔案到倉庫區 $ git commit
[file1] [file2] ... -m "message" # 提交時顯示所有diff資訊 $ git commit -v ### 五、分支javascript # 列出所有本地分支,當前分支前面會標一個*號 $
git branch # 列出所有遠端分支 $ git branch -r # 列出所有本地分支和遠端分支 $ git branch -a # 新建一個分支,但依然停留在當前分支 $ git branch [branch] #
新建一個分支,並切換到該分支 $ git checkout -b [branch] $ git switch -c [branch] # 切換到指定分支 $ git checkout [branch] $ git switch
[branch] # 切換到上一個分支 $ git checkout - # 合併指定分支到當前分支 $ git merge [branch] # 刪除分支 $ git branch -d [branch] # 刪除遠端分支 $ git
push origin --delete [branch] $ git branch -dr [branch] ### 六、標籤
javascript # 檢視所有標籤 $ git tag #
新建一個tag在當前commit,預設標籤是打在最新提交的commit上 $ git tag [tagname] # 新建一個tag在指定commit $ git tag [tagname] commit_id #
建立帶有說明的標籤,用-a指定標籤名,-m指定說明文字 $ git tag -a [tagname] -m "blablabla..." # 檢視tag資訊 $ git show [tagname] # 刪除本地tag $ git tag
-d [tagname] # 刪除遠端tag $ git push origin :refs/tags/[tagName] # 提交指定tag $ git push origin [tagname] # 提交所有tag $ git push
origin --tags # 新建一個分支,指向某個tag $ git checkout -b [branch] [tagname] ### 七、檢視資訊javascript # 顯示有變更的檔案 $ git status

顯示當前分支的版本歷史 $ git log # 顯示暫存區和工作區的差異 $ git diff # 顯示工作區與當前分支最新commit之間的差異 $ git diff HEAD # 顯示當前分支的最近幾次提交 $ git reflog

### 八、撤銷javascript # 回退到指定版本 git reset --hard commit_id(就是前面的標識) # 重置暫存區與工作區,與上一次commit保持一致 $ git reset --hard #
恢復暫存區的指定檔案到工作區 $ git checkout [file] # 恢復某個commit的指定檔案到暫存區和工作區 $ git checkout [commit] [file] # 恢復暫存區的所有檔案到工作區 $ git
checkout . ### 九、遠端同步javascript # 顯示所有遠端倉庫 $ git remote -v # 增加一個新的遠端倉庫,並命名 $ git remote add [shortname] [url] #
取回遠端倉庫的變化,並與本地分支合併 $ git pull [remote] [branch] # 上傳本地指定分支到遠端倉庫 $ git push [remote] [branch] # 強行推送當前分支到遠端倉庫,即使有衝突 $ git
push [remote] --force # 推送所有分支到遠端倉庫 $ git push [remote] --all ### 十、其他javascript # 生成一個可供釋出的壓縮包 $ git archive

![在這裡插入圖片描述](https://img-blog.csdnimg.cn/2020092211172890.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTk2OTQzMg==,size_16,color_FFFFFF,t_70#pic_center)