美文网首页Java技术
Git实战命令总结

Git实战命令总结

作者: 程序猿蛋蛋哥 | 来源:发表于2019-02-18 14:59 被阅读0次

    1. 创建本地项目并上传GitHub

    见笔者另一篇文章详细介绍:https://juejin.im/post/5c6b7241518825246b10351d

    2. Git合并(merge)指定文件或文件夹

    需求:
    将dev分支的部分文件合并(merge)到master分支并推到远程

    原理:
    先把master分支代码拷贝一份,成为一个新的临时分支master-temp,然后把dev分支上需要合并过来的那部分文件或文件夹替换到临时分支master-temp上,然后把临时分支master-temp合并到master分支,这时dev分支上要合并的部分文件或文件夹已经成功的合并到master分支上了,最后再删掉这个临时分支master-temp,就OK了。

    操作:

    切换到master分支,并保持master分支最新

    git checkout master
    git pull
    

    基于master分支创建一个临时分支master-temp,并切换到该分支上

    git checkout -b master-temp
    

    用dev分支指定文件或文件夹替换master-temp分支上相应的文件

    语法:
    git checkout dev [目标文件夹或目标文件]
    举例:
    git checkout dev src/test/controller/
    
    说明:执行完此命令,dev分支下的src/test/controller/文件夹就会替换master-temp分支下相应的文件夹
    

    将本次checkout内容提交到master-temp分支上

    git commit -m "提交信息到临时分支master-temp上"
    

    切换到master分支

    git checkout master
    

    比较临时的master-temp分支与master分支的差异,是否就是想要合并的差异

    git diff master-temp master
    

    合并master-temp分支到master分支

    git merge master-temp
    

    将本地master分支推到远程master分支,并删除临时master-temp分支(本地的)

    git push origin master
    ## 查看所有分支
    git branch -a
    ## 删除本地临时分支master-temp
    git branch -d master-temp
    

    3. Git 比较差异

    说明:既支持对整个区域差异比较,也支持针对单个文件夹或文件的差异比较。

    ## 比较工作区和暂存区的差异
    git diff
    ## 针对某个文件夹或文件,比较工作区和暂存区的差异
    git diff [文件夹或文件]
    例如:git diff controller/
    
    ## 比较工作区和当前分支最新commit之间的差异
    git diff HEAD
    ## 针对某个文件夹或文件,比较工作区和当前分支最新commit之间的差异
    git diff HEAD [文件夹或文件]
    例如:
    git diff HEAD controller/ControllerTest.java
    
    ## 比较暂存区和上一个commit之间的差异
    git diff --cached
    ## 针对某个文件夹或文件,比较暂存区和上一个commit之间的差异
    git diff --cached [文件夹或文件]
    
    ## 比较各个分支之间的差异
    git diff [first-branch] [second-branch]...[last-branch]
    ## 针对某个文件夹或文件,比较各个分支之间的差异
    git diff [first-branch] [second-branch]...[last-branch] [文件夹或文件]
    

    4. Git 撤销操作

    后续更新中...

    5. Git 删除分支

    ## 删除本地分支
    git branch -D [branch-name]
    举例:
    git branch -D dev-test-v190218-rangdandanfei
    
    ## 删除远程分支
    <1> git push origin --delete [branch-name]
    举例:
    git push origin --delete dev-test-v190218-rangdandanfei
    
    <2> git branch -dr [remote/branch]
    举例:
    git branch -dr origin/dev-git-use-v190219-rangdandanfei
    (使用git branch -a命令看一下有没有删除掉)
    

    扩展

    1. Git学习网站资料收集:

    廖雪峰Git教程:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

    git - 简易指南:http://www.bootcss.com/p/git-guide/

    相关文章

      网友评论

        本文标题:Git实战命令总结

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