Git相關代碼總結

Git相關代碼總結

這是一篇總結性文章

推薦鏈接


相關配置

$ git config --global user.name "Your Name"
$ git config --global user.email "[email protected]"

基本操作

$ git init : 初始化倉庫
$ git add xx : 添加xx到本地版本倉庫
$ git commit -m "xxx" 添加提交信息
$ git push : 推送到遠程倉庫

常用命令

$ git status : 倉庫當前的狀態
$ git diff : 查看difference

版本回滾

$ git log : 顯示從最近到最遠的提交日誌
$ git reset --hard commitID : 回滾到某個版本
$ git reflog : 記錄你的每一次命令
$ git push -f -u origin master : 提交回滾後的版本

工作區與暫存區

管理修改

第一次修改 -> git add -> 第二次修改 -> git add -> git commit

撤銷更改

$ git checkout -- file : 可以丟棄工作區的修改
$ git reset HEAD file : 可以把暫存區的修改撤銷掉(unstage)

生成密鑰

$ ssh-keygen -t rsa -C "[email protected]" : 生成相應郵箱的密鑰

遠程倉庫

$ git remote add origin xx : 指定遠程倉庫地址
$ git push origin (-u) master : 推送到遠程倉庫
$ git clone xx : 下載遠程倉庫(含有.git)
$ git pull : 下拉倉庫

分支

$ git branch : 列出所有分支
$ git branch <name> : 創建分支
$ git checkout <name> : 切換分支
$ git checkout -b xx : 創建並且切換到xx分支
$ git merge <name> : 合併到當前分支
$ git branch -d <name> : 刪除分支

$ git log --graph : 查看分支合併圖

$ 合併分支時,加上--no-ff參數就可以用普通模式合併,合併後的歷史有分支,能看出來曾經做過合併,而fast forward合併就看不出來曾經做過合併

Bug分支

$ git stash : 把當前工作現場“儲藏”起來
$ git stash list : 查看工作現場列表
$ git stash apply : 恢復-> 恢復後-> stash內容並不刪除
$ git stash drop : 刪除工作現場的內容
$ git stash pop : 恢復的同時把stash內容也刪了

Feature分支

$ 如果要丟棄一個沒有被合併過的分支,可以通過git branch -D <name>強行刪除。

Tag標籤

$ git tag <name> : 用於新建一個標籤
$ git tag -a <tagname> -m xxx : 可以指定標籤信息
$ git tag -s <tagname> -m xxx : 可以用PGP簽名標籤
$ git tag : 查看所有標籤
$ git push origin <tagname> : 推送一個本地標籤
$ git push origin --tags : 推送全部未推送過的本地標籤
$ git tag -d <tagname> : 可以刪除一個本地標籤
$ git push origin :refs/tags/<tagname> : 可以刪除一個遠程標籤

分支策略

在實際開發中,我們應該按照幾個基本原則進行分支管理:
首先,master分支應該是非常穩定的,也就是僅用來發布新版本,平時不能在上面幹活;
那在哪幹活呢?幹活都在dev分支上,也就是說,dev分支是不穩定的,到某個時候,比如1.0版本發佈時,再把dev分支合併到master上,在master分支發佈1.0版本;
你和你的小夥伴們每個人都在dev分支上幹活,每個人都有自己的分支,時不時地往dev分支上合併就可以了。
所以,團隊合作的分支看起來就像這樣:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章