Git常用命令整理
- 基本命令
- 初始化一個Git倉庫:
git init
- 添加文件到暫存區:
git add <file>
- 刪除文件:
git rm <file>
- 提交:
git commit -m <message>
- 工作區狀態:
git status
- 查看有無修改:
git diff <file>
- 查看提交歷史:
git log
- 查看命令歷史:
git reflow
- 初始化一個Git倉庫:
- 版本回退
HEAD表示當前版本,HEAD^表示上一版本,HEAD^^表示上上個版本,HEAD~100表示上100個版本
- 退回上一個版本:
git reset --hard HEAD^
- 通過版本好回退:
git reset --hard commit_id
- 退回上一個版本:
- 撤銷修改
- 丟棄工作區的修改:
git checkout -- file
- 工作區進行了修改,並且添加到了暫存區時,想丟棄修改,分兩步。第一步用命令
git reset HEAD <file>
回到上述狀態,再按上述描述操作
- 丟棄工作區的修改:
- 遠程倉庫
- 添加關聯一個遠程庫:
git remote add origin git@server-name:path/repo-name.git
- 關聯後,使用命令
git push -u origin
- 推送某個分支的更新:
push origin master
- 克隆一個遠程倉庫:
git clone <地址>
- 添加關聯一個遠程庫:
分支管理
- 查看分支:
git branch
- 創建分支:
git branch <name>
- 切換分支:
git checkout <name>
- 創建+切換分支:
git checkout -b <name>
- 合併某分支到當前分支:
git merge <name>
- 分支合併圖:
git log --graph
- 刪除分支:
git branch -d <name>
- 保存當前工作現場:
git stash
- 查看保存的工作現場列表:
git stash list
- 恢復:
- 用
git stash apply
恢復,但是恢復後,stash內容不會刪除,需要用git stash drop
來刪除 - 用
git stash pop
,恢復時會刪除stash的內容 - 恢復指定的stash:
git stash apply stash@{序號}
- 強制刪除沒有合併過的分支:
git branch -D <name>
- 查看分支:
多人協作常見場景
- 用
git push origin <branch-name>
推送自己的修改; - 如果遠程分支相較於本地更新,需要先用
git pull
嘗試進行合併; - 如果合並存在衝突,則手動解決衝突,並在本地提交;
- 沒有衝突或者解決掉衝突後,重新用
git push origin <branch-name>
推送就能成功; - 使用
git pull
時提示no tracking information
,則說明本地分支和遠程分支的鏈接關係沒有創建,用命令git branch --set-upstream-to <branch-name> origin/<branch-name>
- 用