jazz's blog

Use Git Impove Process From Coding to Testing

使用git改善代码编写与测试的过程

  1. 挂载待测试代码目录,这要得益于git原生支持共享文件系统

    • win
      • <HOST> net share project_1=e:\projects\rails /grant:administrator,full
        • 如果文件夹路径中包含空格,需用括号包含起来
        • <HOST> net share project_1 /del
      • <GUEST> net use z: \\<HOST>\project_1
        • <GUEST> net use z: /del
    • linux
      • mount
      • 使用ssh是更好的方案
  2. fork一份拷贝,checkout到bugXXX分支作修正

    • <GUEST> git clone z: project_1
    • <GUEST> git branch bugXX
    • <GUEST> git checkout bugXX
  3. push你的修正

    • 如果你直接推送到master会报错,下面方法可以解决,但是最好不要这样做 <HOST> git config --add receive.denyCurrentBranch warn

      • or <HOST> git config --add receive.denyCurrentBranch ignore
      • or <HOST> git config -e or vim .git\config append bellow config

          [receive]  
          denyCurrentBranch = warn
        
    • <GUEST> git push origin bugXX

      • 推送之前,请确保请确保HOST的工作树不处于你正推送的分支上,否则会遇见上面中提到的问题
      • 一个简化的模型是,HOST始终在master分支,GUEST始终在你修正的分支中推送补丁(ps 你不应该推送你已经合并的分支),然后HOST中去应用你的补丁
  4. 应用你的补丁
    • <HOST> git merge bugXX or git rebase bugXX