Git 使用未跟踪的更改从一个分支移动到另一个分支

Git 使用未跟踪的更改从一个分支移动到另一个分支,git,svn,Git,Svn,我正处于一个Suiteuation中,我的存储库中有未分级/未跟踪的更改,我希望创建并移动到一个新分支,并将这些更改提交到新分支,而不是主分支 我在stackoverflow上发现了这个问题: 我无法永远理解答案 基本上我理解的是我必须做的是: 一个 将我的更改添加到隐藏中,因为git不允许我在没有首先提交或隐藏更改的情况下签出另一个分支 两个 创建并签出新分支 三个 在新分支中将隐藏作为新提交应用 我知道如何做一和二,但不知道如何做三 上述问题的答案之一是: //comments are

我正处于一个Suiteuation中,我的存储库中有未分级/未跟踪的更改,我希望创建并移动到一个新分支,并将这些更改提交到新分支,而不是主分支

我在stackoverflow上发现了这个问题:

我无法永远理解答案

基本上我理解的是我必须做的是:


一个

将我的更改添加到隐藏中,因为git不允许我在没有首先提交或隐藏更改的情况下签出另一个分支

两个

创建并签出新分支

三个

在新分支中将隐藏作为新提交应用


我知道如何做一和二,但不知道如何做三

上述问题的答案之一是:

//comments are my understanding on what is happening
//not necessarily true 
git stash                                     //add to stash
git checkout -b edge master                   //create new Bracnh and checkout to it

//Not sure what is happening in the below two lines
git branch -f master SHA1_before_your_commits //reset master to the last commit 
git stash apply              // apply stash to branch,now I can commit to the new branch
我正处于一个Suiteuation中,我的存储库中有未分级/未跟踪的更改,我希望创建并移动到一个新分支,并将这些更改提交到新分支,而不是主分支

使用git v2.5可以执行以下操作:

git worktree add <new_path>
git工作树添加
现在,在你的任何一个分支中,你想做什么就做什么。它将创建两个彼此分离的工作文件夹,同时指向同一存储库

使用wortree,您无需执行任何
清除
重置
即可删除所有暂存和未跟踪的内容

下面是如何执行此操作的演示:

我正处于一个Suiteuation中,我的存储库中有未分级/未跟踪的更改,我希望创建并移动到一个新分支,并将这些更改提交到新分支,而不是主分支

使用git v2.5可以执行以下操作:

git worktree add <new_path>
git工作树添加
现在,在你的任何一个分支中,你想做什么就做什么。它将创建两个彼此分离的工作文件夹,同时指向同一存储库

使用wortree,您无需执行任何
清除
重置
即可删除所有暂存和未跟踪的内容

下面是如何执行此操作的演示:


只需提交您的更改,创建新分支,并将主机重置为以前的提交,例如

git commit -a
git branch newBranch
git reset --hard HEAD~
git checkout newBranch

只需提交您的更改,创建新分支,并将主机重置为以前的提交,例如

git commit -a
git branch newBranch
git reset --hard HEAD~
git checkout newBranch

这样我就不用零钱了吗?我的意思是当我重置头部时?不,你不会失去你的改变。他们在布兰奇纽伯兰很安全。如果你不相信我的话,也可以在玩具仓库里试试。我会不会这样失去我的改变呢?我的意思是当我重置头部时?不,你不会失去你的改变。他们在布兰奇纽伯兰很安全。如果你不相信我的话,也可以在玩具仓库里试试。谢谢你的回答,现在就查看文档吧。。试图理解。在git方面不是最尖锐的:(很酷,非常简单:你正在添加一个指向同一存储库的新目录,但3个状态为空。(3个状态=工作目录,阶段区域,本地repo)如果需要,请随时提问。如果需要,我会很快回来。谢谢你的回答,现在就查看文档。试图理解。对于git来说,这不是最尖锐的:(酷,非常简单:你正在添加一个指向同一存储库的新目录,但3个状态都是空的。(3个州=工作区、舞台区、本地回购)如果需要,请随时询问。如果需要,我会很快回来。