前言
Git在平時的開發中經常使用,整理Git使用全面的梳理。
基本內容
開始之前
請自行準備好Git工具以及配置好Git的基本配置
基礎內容
基礎概念
如下內容,在碼雲或者Github上新建倉庫出現的內容,
mkdir demo
cd demo
git init
touch README.md
git add README.md
git commit -m "first commit"
git remote add origin https://gitee.com/will-we/demo.git
git push -u origin master
基礎命令
git init
創建git倉庫
git add
把文件添加進去,實際上就是把文件修改添加到暫存區
git status
查看倉庫當前的狀態
git diff
查看difference
git log
顯示從最近到最遠的提交日誌
git reset --hard
版本回復,格式:git reset --hard commit的Id號
git reset --hard HEAD^
回到上次提交的版本
git reflog
記錄在本地存儲庫中更新分支和其他引用的提示
git checkout -- file
文件在工作區的修改全部撤銷
git reset HEAD <file>
將當前版本上文件恢復
git rm
刪除暫存區的文件(直接工區刪除後,提交版本庫也刪除)
遠程倉庫
開始之前,請配置本地與遠程倉庫的相關配置,祕鑰等配置
git remote
查看遠程庫的信息
git remote -v
顯示更詳細的信息
git push origin master
推送到遠程主分支
> 推送失敗,先用git pull抓取遠程的新提交,有衝突先解決衝突
分支管理
基本命令
git checkout -b dev
創建並切換dev
分支
git branch
查看所有分支,當前分支*
表示
git branch <name>
創建分支
git merge
命令用於合併指定分支到當前分支
git branch -d <name>
刪除分支
git branch -D <name>
強行刪除分支(git branch -d <name>
刪除操作時會該分支做合併,如果沒有合併將出現錯誤)
git log --graph --pretty=oneline --abbrev-commit
看到分支的合併情況
stash命令
git stash
將工作備份後臨時清理工作區爲版本庫,用於緊急修改缺陷場景
git stash list
查看備份的工作現場
git stash apply
恢復工作現場
git stash drop
刪除之前的備份現場
git stash pop
先恢復再刪除之前的備份
rebase命令
git rebase
作用 和git merge
的效果類似,但是git rebase
不再包含分支的提交信息最終log爲一條直線
關於兩者的區別可參考內容: git rebash 和 git merge 區別
在rebase的過程中,也許會出現衝突(conflict). 在這種情況,Git會停止rebase並會讓你去解決 衝突;在解決完衝突後,用"git-add"命令去更新這些內容的索引(index), 然後,你無需執行 git-commit,只要執行;當然可以--absort
回覆到rebase之前的狀態。
$ git rebase --continue
衝突問題
“<<<<<<<” 表示衝突代碼開始
“=======” 表示test與master衝突代碼分隔符
“>>>>>>>" 表示衝突代碼的結束
標籤管理
git tag
顯示標籤列表
git tag <tagname>
添加輕標籤
git log --decorate
顯示包含標籤資料的歷史記錄
git tag -a <tagname> -m '註解內容'
添加註解標籤
git tag -n
顯示標籤的列表和註解
git tag -d <tagname>
刪除標籤
git push origin <tagname>
可以推送一個本地標籤
git push origin --tags
可以推送全部未推送過的本地標籤;
git push origin :refs/tags/<tagname>
可以刪除一個遠程標籤
參考教程