查看分支: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
网友评论