git:在提交到新分支后让工作目录暂存和未暂存
git: get working directory staged and non staged back after committing to new branch
在 branch b1
上使用暂存文件和未暂存文件时,我创建了一个新分支 (backup-changes
) 并提交了 那些文件。
// Create the backup branch from the branch you are on
$ git checkout -b backup-changes
// make sure it is created and you are on the backup branch
$ git branch -a
// check status and add and commit to the backup branch just created
$ git status
$ git add .
$ git commit
// do a dry run to see things what are things going to be
$ git push -u origin backup-changes --dry-run
// push to remote
$ git push -u origin backup-changes
我不想把它藏起来,因为我想在远程服务器上备份。
现在,我切换回 branch b1
,想要恢复所有暂存和未暂存文件,就像它们在我切换到“backup-changes
”并提交之前一样?这可能吗?
我无法理解 备份 在 Git 宇宙中的用处。但是有两种可能的方法:
第一种可能性是目标分支中的 git cherry-pick <commit-id>
(branch b1
)。 仅当您了解 cherry-pick!
的行为时才执行此操作
第二个方法是 git reset
分支 backup-changes
中的 最后一次提交 使用:
git reset --soft HEAD~1
然后用git stash
保存重置后的文件:
git stash save "get back all the staged and unstaged files"
现在您可以改回分支:
git checkout b1
然后使隐藏的文件生效:
git stash pop
这将删除 stash,如果你想将 stash 保留在 stash-list 中,只做 git stash apply
并且存储被进一步保存并显示为 git stash list
。有关详细信息,请参阅 git stash
documentation
在 branch b1
上使用暂存文件和未暂存文件时,我创建了一个新分支 (backup-changes
) 并提交了 那些文件。
// Create the backup branch from the branch you are on
$ git checkout -b backup-changes
// make sure it is created and you are on the backup branch
$ git branch -a
// check status and add and commit to the backup branch just created
$ git status
$ git add .
$ git commit
// do a dry run to see things what are things going to be
$ git push -u origin backup-changes --dry-run
// push to remote
$ git push -u origin backup-changes
我不想把它藏起来,因为我想在远程服务器上备份。
现在,我切换回 branch b1
,想要恢复所有暂存和未暂存文件,就像它们在我切换到“backup-changes
”并提交之前一样?这可能吗?
我无法理解 备份 在 Git 宇宙中的用处。但是有两种可能的方法:
第一种可能性是目标分支中的 git cherry-pick <commit-id>
(branch b1
)。 仅当您了解 cherry-pick!
第二个方法是 git reset
分支 backup-changes
中的 最后一次提交 使用:
git reset --soft HEAD~1
然后用git stash
保存重置后的文件:
git stash save "get back all the staged and unstaged files"
现在您可以改回分支:
git checkout b1
然后使隐藏的文件生效:
git stash pop
这将删除 stash,如果你想将 stash 保留在 stash-list 中,只做 git stash apply
并且存储被进一步保存并显示为 git stash list
。有关详细信息,请参阅 git stash
documentation