1. git branch 創建分支
2. git checkout -b 創建並切換到新建的分支上
3. git checkout 切換分支
4. git branch 查看分支列表
5. git branch -v 查看所有分支的最後一次操作
6. git branch -vv 查看當前分支
7. git brabch -b 分支名 origin/分支名 創建遠程分支到本地
8. git branch --merged 查看別的分支和當前分支合併過的分支
9. git branch --no-merged 查看未與當前分支合併的分支
10. git branch -d 分支名 刪除本地分支
11. git branch -D 分支名 強行刪除分支
12. git branch origin :分支名 刪除遠處倉庫分支
13. git merge 分支名 合併分支到當前分支上
1. git stash 暫存當前修改
2. git stash apply 恢復最近的一次暫存
3. git stash pop 恢復暫存並刪除暫存記錄
4. git stash list 查看暫存列表
5. git stash drop 暫存名(例:stash@{0}) 移除某次暫存
6. git stash clear 清除暫存
1. git reset
2. git reset
3. git checkout
4. git reset HEAD file 撤回暫存區的文件修改到工作區
1. git tag 標籤名 添加標籤(默認對當前版本)
2. git tag 標籤名 commit_id 對某一提交記錄打標籤
3. git tag -a 標籤名 -m '描述' 創建新標籤並增加備註
4. git tag 列出所有標籤列表
5. git show 標籤名 查看標籤信息
6. git tag -d 標籤名 刪除本地標籤
7. git push origin 標籤名 推送標籤到遠程倉庫
8. git push origin --tags 推送所有標籤到遠程倉庫
9. git push origin :refs/tags/標籤名 從遠程倉庫中刪除標籤
常規操作
1. git push origin test 推送本地分支到遠程倉庫
2. git rm -r --cached 文件/文件夾名字 取消文件被版本控制
3. git reflog 獲取執行過的命令
4. git log --graph 查看分支合併圖
5. git merge --no-ff -m '合併描述' 分支名 不使用Fast forward方式合併,採用這種方式合併可以看到合併記錄
6. git check-ignore -v 文件名 查看忽略規則
7. git add -f 文件名 強制將文件提交
8. git reflog 列印所有的日誌,假如:ABC三個節點,回退到B後,仍舊列印所有日誌
git創建項目倉庫
1、git init 初始化
2、git remote add origin url 關聯遠程倉庫
3、git pull
4、git fetch 獲取遠程倉庫中所有的分支到本地
忽略已加入到版本庫中的文件
1、git update-index
2、git rm -r
取消忽略文件
git update-index
拉取、上傳免密碼
git config
GitFlow 是由 Vincent Driessen 提出的一個 git操作流程標準。包含如下幾個關鍵分支:
1. master:主分支develop:主開發分支,包含確定即將發布的代碼;
2. feature:新功能分支,一般一個新功能對應一個分支,對於功能的拆分需要比較合理,以避免一些後面不必要的代碼衝突;
3. release:發布分支,發布時候用的分支,一般測試時候發現的 bug 在這個分支進行修復;
4. hotfix:熱修復分支,緊急修 bug 的時候用。
1. 並行開發:GitFlow可以很方便的實現並行開發。每個新功能都會建立一個新的 feature分支,從而和已經完成的功能隔離開來,而且只有在新功能完成開發的情況下,其對應的 feature分支才會合併到主開發分支上(也就是我們經常說的develop分支)。另外,如果你正在開發某個功能,同時又有一個新的功能需要開發,你只需要提交當前 feature 的代碼,然後創建另外一個feature 分支並完成新功能開發。然後再切回之前的 feature 分支即可繼續完成之前功能的開發。
2. 協作開發:GitFlow 還支持多人協同開發,因為每個 feature 分支上改動的代碼都只是為了讓某個新的 feature 可以獨立運行。同時我們也很容易知道每個人都在幹啥。
3. 發布階段:當一個新 feature 開發完成的時候,它會被合併到 develop 分支,這個分支主要用來暫時保存那些還沒有發布的內容,所以如果需要再開發新的 feature,我們只需要從 develop 分支創建新分支,即可包含所有已經完成的 feature 。
4. 支持緊急修復:GitFlow 還包含了 hotfix 分支。這種類型的分支是從某個已經發布的 tag 上創建出來並做一個緊急的修復,而且這個緊急修復只影響這個已經發布的 tag,而不會影響到你正在開發的新 feature。
然後就是 GitFlow 最經典的幾張流程圖,一定要理解:
image.pngfeature 分支都是從 develop 分支創建,完成後再合併到 develop 分支上,等待發布
image.png當需要發布時,我們從 develop 分支創建一個 release 分支
然後這個 release 分支會發布到測試環境進行測試,如果發現問題就在這個分支直接進行修復。在所有問題修復之前,我們會不停的重複發布->測試->修復->重新發布->重新測試這個流程。
發布結束後,這個release 分支會合併到 develop 和 master 分支,從而保證不會有代碼丟失。
master 分支只跟蹤已經發布的代碼,合併到 master 上的 commit 只能來自 release 分支和 hotfix 分支。
hotfix 分支的作用是緊急修復一些 Bug。它們都是從 master 分支上的某個 tag 建立,修復結束後再合併到 develop 和 master 分支上。
常見錯誤1、windows使用git時出現:warning:LF will be replaced by CRLF
windows中的換行符為 CRLF, 而在linux下的換行符為LF,所以在執行add . 時出現提示,解決辦法:
$ rm -rf .git // 刪除.git
$ git config --global core.autocrlf false //禁用自動轉換
然後重新執行:
$ git init
$ git add .
常見錯誤2、git push origin master出錯:error:failed to push sonme refs to...
很明顯是:
本地沒有update到最新版本的項目(git上有README.md文件沒下載下來)
本地直接push所以會出錯。
【解決過程】
1.看到提示裡面,感覺是本地的代碼不是最新的。
所以覺得應該是類似於svn中的,先update一下,再去commit,估計就可以了。
所以先去pull試試:
git pull --rebase origin master
解決!
常見錯誤3、fatal: remote origin already exists.
解決辦法如下:
1、先輸入$ git remote rm origin
2、再輸入$ git remote add origin git@github.com:djqiang/gitdemo.git 就不會報錯了!
3、如果輸入$ git remote rm origin 還是報錯的話,error: Could not remove config section 'remote.origin'. 我們需要修改gitconfig文件的內容
4、找到你的github的安裝路徑,我的是C:\Users\ASUS\AppData\Local\GitHub\PortableGit_ca477551eeb4aea0e4ae9fcd3358bd96720bb5c8\etc
5、找到一個名為gitconfig的文件,打開它把裡面的[remote "origin"]那一行刪掉就好了!
END-
後續的內容同樣精彩
長按關注「IT實戰聯盟」哦