• 【Git】Git相关开发流程


    fork的两种主要工作流程:

    一.fork并且更新一个仓库

    现在有这样一种情形:有一个叫做Joe的程序猿写了一个游戏程序,而你可能要去改进它。并且Joe将他的代码放在了GitHub仓库上。下面是你要做的事情:
    img

    fork并且更新GitHub仓库的图表演示

    1. Fork他的仓库:这是GitHub操作,这个操作会复制Joe的仓库(包括文件,提交历史,issues,和其余一些东西)。复制后的仓库在你自己的GitHub帐号下。目前,你本地计算机对这个仓库没有任何操作。
    2. Clone你的仓库:这是Git操作。使用该操作让你发送”请给我发一份我仓库的复制文件”的命令给GitHub。现在这个仓库就会存储在你本地计算机上。
    3. 更新某些文件:现在,你可以在任何程序或者环境下更新仓库里的文件。
    4. 提交你的更改:这是Git操作。使用该操作让你发送”记录我的更改”的命令至GitHub。此操作只在你的本地计算机上完成。
    5. 将你的更改push到你的GitHub仓库:这是Git操作。使用该操作让你发送”这是我的修改”的信息给GitHub。Push操作不会自动完成,所以直到你做了push操作,GitHub才知道你的提交。
    6. 给Joe发送一个pull request:如果你认为Joe会接受你的修改,你就可以给他发送一个pull request。这是GitHub操作,使用此操作可以帮助你和Joe交流你的修改,并且询问Joe是否愿意接受你的”pull request”,当然,接不接受完全取决于他自己。

    如果Joe接受了你的pull request,他将把那些修改拉到自己的仓库。胜利!

    二.同步一个fork

    Joe和其余贡献者已经对这个项目做了一些修改,而你将在他们的修改的基础上,还要再做一些修改。在你开始之前,你最好”同步你的fork”,以确保在最新的复制版本里工作。下面是你要做的:
    img

    同步GitHub fork的图表示意图

    1. 从Joe的仓库中取出(Fetch)那些变化的文件:这是Git操作,使用该命令让你可以从Joe的仓库获取最新的文件。
    2. 将这些修改合并(Merge)到你自己的仓库:这是Git操作,使用该命令使得那些修改更新到你的本地计算机(那些修改暂时存放在一个”分支”中)。记住:步骤1和2经常结合为一个命令使用,合并后的Git命令叫做”pull”。
    3. 将那些修改更新推送到你的GitHub仓库(可选):记住,你本地计算机不会自动更新你的GitHub仓库。所以,唯一更新GitHub仓库的办法就是将那些修改推送上去。你可以在步骤2完成后立即执行push,也可以等到你做了自己的一些修改,并已经本地提交后再执行推送操作。

    三.比较一下fork和同步工作流程的区别:

    当你最初fork一个仓库的时候,信息的流向是从Joe的仓库到你的仓库,然后再到你本地计算机。但是最初的过程之后,信息的流向是从Joe的仓库到你的本地计算机,之后再到你的仓库。

    工作流程

    • fork主仓库到个人仓库
    • clone个人仓库到本地
    • 添加远端仓库
      • git remote add upstream ...
    • 切换到工作分支
      • git checkout -b {工作分支名字}
    • 写代码
    • 先提交自己的工作分支代码到个人仓库
      • git add {代码文件}
      • git commit -m "commit content"
      • git push origin {工作分支}
    • fetch端更新(fetch与pull不同,fetch会把远端所有更新包括分支创建都拉回来)
      • git fetch upstream
    • merge远端更新到自己的个人分支
      • git merge upstream/master
    • 重新push
      • git push origin {工作分支}
    • 提MR

    • 撤销commit

      • git reset --soft HEAD^
      • HEAD^的意思是上一个版本,也可以写成HEAD~1
      • 如果你进行了2次commit,想都撤回,可以使用HEAD~2
    • 修改commit注释

      • git commit --amend
  • 相关阅读:
    扩展正则表达式 练习题
    Linux特殊符号
    文件属性下
    文件属性和ls -lhi
    复习之前的和补充一些内容
    第二关练习题总结完结
    云服务器防ssh攻击
    实验四+085
    实验3+085
    第5次作业+085
  • 原文地址:https://www.cnblogs.com/xuwanwei/p/15160935.html
Copyright © 2020-2023  润新知