美文网首页
写给自己看的Git使用指南

写给自己看的Git使用指南

作者: ZetaLin | 来源:发表于2019-03-24 01:07 被阅读0次

    写这篇blog的初衷是,在带教新人使用sourcetree+gitlab管理脚本时,发现自己磕磕巴巴无力解释清楚Git是个什么鬼,因此决定系统学习并以文章的形式整理下助消化。

    拜读了廖雪峰的《Git教程》,非常浅显易懂,也可以按目录检索章节内容,耗费一小时左右阅读时间就能把Git的使用安排得明明白白。所以这篇文章并不再搬运或者是再诠释其中的内容,而是按我个人的思考和阅读习惯,写一个浓缩简短版的使用指南。


    Why Git

    Git 至少解决了版本管理和多人协作两个问题。

    • 版本管理:相当于后悔药了,在关键节点及时保存和提交版本,写好版本注释,就能任意返回之前的某一个版本。不过分析师写的SQL一般都不复杂,所以不太需要多个版本。

    How it Works

    Git原理

    工作区 -> 暂存区:通过git add <filename>提交工作区的文件修改到版本库的暂存区。暂存区的目的就是跟踪修改。

    • 如果要撤销工作区的修改,通过git checkout -- <filename>使其退回到已添加到暂存区的状态,如果文件未添加到暂存区,则撤销退回到和版本库一样的状态。

    暂存区 -> 分支:通过git commit -m <message>提交到暂存区的所有修改到master或其他的分支上。

    • 如果未提交版本,要撤销暂存区的提交,通过git reset Head <filename>把暂存区的修改返回到工作区。

    • 如果已提交版本,通过git reset --hard Head^返回上一个版本,或通过git reset --hard <commit id>返回之前的任一版本、或重回“未来”的版本。<commit id>可通过git loggit reflog来查询提交历史和命令历史。emmmm传说这个命令不要轻易用...

    Branch

    创建分支:通过git checkout -b dev创建并切换到dev分支上。以上语句实际可拆分成两句。

    • git branch <branchname> 创建一个分支
    • git checkout <branchname> 切换到一个分支上,有别于撤销工作区修改的语句`git checkout -- <filename>,注意区分

    合并分支:通过git merge <branchname>合并某分支到当前分支上

    解决冲突:遇到版本冲突的无法自动合并的,需要手动解决冲突,重新提交修改。多人协作中,可按以下步骤尝试:

    • 先使用git push origin <branchname>推送自己的修改
    • 如推送失败,说明远程分支比本地分支更新,需要用git pull拉取并合并
    • 如合并失败,需要手动解决冲突,再次使用git push origin <branchname>推送

    Git CHEAT SHEET

    相关文章

      网友评论

          本文标题:写给自己看的Git使用指南

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