git 常用命名及日常问题解决

2020-07-21  本文已影响0人  jzfai

先看张原理图

image.png

暂存区相关指令

git add .    
git rm --cached 撤出暂存区
git rm -f 同时删除工作目录和暂存区文件

本地库

git commit  -m "提交代码"
git diff --cached 比对暂存区和本地仓库有什么不同

远程库

git push orgin master 
git remote -v 
git remote rm 要删除的远程分支名

日志及回滚

git log --oneline --decorate
git reflog 查看历史所有commit的分支
git reset --hard 2342e1
git tag -a  v0.1 -m "v0.1tag"
git tag -d v0.1 删除tag
git show v0.1 查看tag的信息

git的冲突发生

1、git冲突的场景

情景一:多个分支代码合并到一个分支时;
情景二:多个分支向同一个远端分支推送代码时;
实际上,push操作即是将本地代码merge到远端库分支上。

关于push和pull其实就分别是用本地分支合并到远程分支 和 将远程分支合并到本地分支

所以这两个过程中也可能存在冲突。
git的合并中产生冲突的具体情况:
  <1>两个分支中修改了同一个文件(不管什么地方)
  <2>两个分支中修改了同一个文件的名称
两个分支中分别修改了不同文件中的部分,不会产生冲突,可以直接将两部分合并。
3、实战演示
(1)情景
  本地库中两个不同分支,修改同一个文件同一代码块,两分支先后将修改合并到master分支上,master在合并第二个分支代码时,报错:合并冲突。

git的stash

stash命令可用于临时保存和回复修改,可跨分支。

注:在未add之前才能执行stash!!!!

git stash [save message]
保存,save为可选项,message为本次保存的注释
git stash list
所有保存的记录列表
git stash pop stash@{num}
恢复,num是可选项,通过git stash list可查看具体值。只能恢复一次
git stash apply stash@{num}
恢复,num是可选项,通过git stash list可查看具体值。可回复多次
git stash drop stash@{num}
删除某个保存,num是可选项,通过git stash list可查看具体值
git stash clear
删除所有保存

git合并出现冲突处理

git合并出现冲突:
Your local changes to the following files would be overwritten by merge:
Please, commit your changes or stash them before you can merge.
解决方案:
git stash //使返回到自己上一个commit,先隐藏
git pull origin master //拉取最新的代码
git stash pop //回到自己修改的代码

git pull每次都需要输入账号密码:

git config --global credential.helper store

程序员的眼里,不止有代码和bug,还有诗与远方和妹子!!!

本地分支切换时需要注意的事项

1.跳转分支之前git status一下查看是不是有没有add和commit的工作,如果有,可以的话,就都提交掉。(事实上尚未add的工作带到了新分支下如果不继续对该文件进行处理,带过去也是没有影响的,大不了跳回来再带回来嘛,反正木有add过的内容在新分支下commit也不会把这部分工作提交。) 
2.如果确实有尚未add和commit的工作,但是并未完成不方便进行提交,可以利用git stash进行现场保留,然后跳转。(git stash的用法也是一块比较重要的内容,这里暂不详细介绍了,可以直接百度其用法~) 
3.如果1.2你都没有做,很不小心地带着未commit的工作跳转到了另一分支下,跳转之后的提示可以让你意识到你把先前分支的工作带过来了,不做任何修改直接再跳回去就好(就又带回去了),然后进行1或2步中所说。
https://blog.csdn.net/weixin_34114823/article/details/92254904?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.edu_weight&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.edu_weight
上一篇下一篇

猜你喜欢

热点阅读