美文网首页
git 常用命名及日常问题解决

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

作者: jzfai | 来源:发表于2020-07-21 12:16 被阅读0次

    先看张原理图

    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
    

    相关文章

      网友评论

          本文标题:git 常用命名及日常问题解决

          本文链接:https://www.haomeiwen.com/subject/jckikktx.html