我正在使用Git。我不小心开始在Master上进行所有代码更改。如何创建分支“new_feature”并将所有更改移至“new_feature”分支并从主服务器移出?
答案 0 :(得分:3)
如果您已经提交了代码,则只需运行git checkout -b new_feature
。这将创建新分支并切换到新分支。
如果您尚未提交更改,请运行git checkout -b new_feature
,然后提交更改。
如果在创建新分支并提交代码后,您需要还原主分支:
git checkout master # switch to the master branch
git reset --hard origin/master # revert master to the current origin/master
请注意,git reset --hard
会导致您丢失任何未提交的更改。
答案 1 :(得分:1)
试试这个:
% git commit ... # save any untracked changes
% git branch <new-branch> # created a branch, but you're still on master
% git log # find the first development commit
% git reset --hard "<commit>^" # set the master branch to before the commit
% git checkout <new-branch> # recommence your development work
% git checkout master # return to work prior to development
小心使用reset --hard
,因为您可能会失去未跟踪的更改。另外,除了已经被推送到远程的提交之外,不要reset --hard
。
答案 2 :(得分:1)
如果您尚未提交更改,请切换到新分支:
git checkout -b new_features
这将对新分支进行所有更改,而不会影响master分支。在这里,您可以提交所有更改。
答案 3 :(得分:0)
如果您还没有提交到主分支。执行git diff
创建补丁。
创建新分支
git checkout -b new_branch
并使用git apply
您可以按照此question进行操作,以便更好地了解如何根据未提交/未提交的更改创建修补程序