2013-04-16 25 views
0

好的,这里是场景。克隆github存储库的最佳方法

我犯了一个非常糟糕的新手错误。我正在研究一些代码,并没有创建一个开发分支来开发结账和测试。所以我对我的机器上的主分支进行了所有这些更改(仍在开发中),我的老板希望我在生产中对应用程序进行一些更改。

我如何做到这一点的想法是:

  1. 重命名我的项目的目录,所以我有一个备份
  2. 混帐克隆最后的远程版本返回到我的机器
  3. 做了细微的变化他希望和重新部署/提交
  4. 梳理一下我在老版本的应用程序已经改变,并把它变成一个Dev分支到新克隆的主分支。

对这个有什么想法?我现在真的不想搞砸了,而且我做了太多的改变,以便跟踪回到代码稳定的地方。

回答

1

没有必要去通过这么多的麻烦:

git checkout master    # get the 'bad' version 
git branch bad-master   # make a new branch called 'bad-master', cut off master's current state 
git fetch      # make sure you're up to date with the remote 
git reset --hard origin/master # reset your master branch to origin/master's state 
<work work work> 
git checkout bad-master   # when you're ready to work on bad-master again 

注意git reset --hard origin/master会丢弃你的工作树的任何工作,你有没有在...因此,如果你有工作,你的避风港检查还没有承诺,一定要git stash吧。

0

这是一个完全正常的情况下在风了,一个你可以轻松地恢复。

所有你需要做的是:

  1. 创建一个新的分支指向主的你当前版本

    git checkout -b my-feature-branch 
    
  2. 重置主人同样的事情的起源/掌握

    git checkout master 
    git reset --hard origin/master 
    

就是这样。现在,您的主设备与您进行功能开发之前的设置相同,并且您还有一个功能分支,您可以稍后结帐以恢复开发。