查看分支:git branch -a
創建分支:git branch
切換分支:git checkout
創建+切換分支:git checkout -b
合并某分支到當前分支:git merge
刪除分支:git branch -d
刪除遠程分支:git push origin --delete [branch-name]
解決忽略列表不生效:git rm -r --cached .
查看遠程分支
git branch -a
加上-a參數可以查看遠程分支,遠程分支會用紅色表示出來(如果你開了顏色支持的話)
切換遠程分支
git checkout命令加上-b參數表示創建并切換
git checkout -b dev origin/dev,作用是checkout遠程的dev分支,在本地起名為dev分支,并切換到本地的dev分支
刪除本地文件夾 director
git?rm?director?-r?-f
changed? not staged for commit?
解決加入忽略列表不生效問題
git rm -r --cached .
git add .
git commit -m 'update .gitignore' 。
不要誤解了 .gitignore 文件的用途,該文件只能作用于 Untracked Files,也就是那些從來沒有被 Git 記錄過的文件(自添加以后,從未 add 及 commit 過的文件)。
如果文件曾經被 Git 記錄過,那么.gitignore 就對它們完全無效。
沖突以后的解決方式
使用git pull origin master --allow-unrelated-histories
或者通過以下的方式避免沖突
如何避免沖突
1)使用git stash?保存當前的工作現場,?那么就可以切換到其他分支進行工作,或者在當前分支上完成其他緊急的工作,比如修訂一個bug測試提交。
2)使用git stash list。查看stash隊列
3)git stash pop stash@{num}。num 就是你要恢復的工作現場的編號
4) 恢復后再進行git push,代碼會進行自動合并,也同步時會被同步到遠程代碼庫
撤銷本地修改
use "git checkout --..." to discard changes in working directory
git checkout --? filename
當在本地需要調試線上數據時,首先修改配置文件為線上配置,隨后調試完以后使用git checkout --? filename 還原到版本庫文件,避免提交修改后的線上配置
主干打標簽
?【含附注的標簽】
創建標簽
git tag -a? 1.4 -m 'my version 1.4'
提交標簽
git push origin v0.1.2 # 將v0.1.2標簽提交到git服務器
推送標簽到遠程代碼庫
git?push?origin?--tags
回到上次修改
git reset --hard
或者使用 git reflog查看下記錄,再git reset --hard HEAD@{num}num為提交記錄編號
設置全局用戶屬性
--global是設置全局的(當前用戶的全局)屬性,也就是說當你的 repo 沒有設置項目的user.name和user.email的時候,會默認用這個。(比如說你新建一個 repo 的時候)
查看全局用戶屬性
git config --local --list
理解暫存區域
忽略暫存區域
參考資料
https://blog.zengrong.net/post/1746.html
https://www.cnblogs.com/xbblogs/p/6048356.html
http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html