Git命令将当前文件保存在临时分支中而不提交到master

标签 git

假设我有一个本地 Git 存储库和一些未提交的更改。因为改动可能会很乱,我还不想提交到我的分支,但我确实想在云端测试一下。

我正在寻找一系列 git 命令,它们可以:

  1. 将“乱七八糟的改动”提交到另一个分支,例如mymessydev
  2. git push origin mymessydev.
  3. 切换回具有相同未提交更改的 master 分支,就好像什么都没发生过一样。

最佳答案

假设您在 master 分支上,然后进行了困惑的更改,

git stash
git checkout -b messybranch
git stash apply
git add .
git commit -m "commit"
git push origin messybranch
git checkout master // clean master

此时,您不会丢失这些更改,因为它们已经推送到 messybranch 上。为了将这些更改返回给 master,您可以 merge messybranch 或 cherry-pick 在 master

上提交
git merge messybranch

git cherry-pick #commit

cherry-pickmerge 提交您的更改,但如果您希望它们暂存而不是提交,您可以这样做

git reset head~1

关于Git命令将当前文件保存在临时分支中而不提交到master,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48511079/

相关文章:

Git:没有添加到提交但存在未跟踪的文件

ruby-on-rails - 无法验证 https ://rubygems. org/的 SSL 证书

git - 有没有办法让 git-push 具有交互性?

git - 我如何使 `git ls-files` 在子目录中工作?

git - 使用 Smartgit 从特定分支 pull

git - github 如何在实际 merge 之前发现两个分支是否存在冲突?

git - 使用 git 将原型(prototype)代码移出 master 分支

Github:如何将未 merge 的上游 pull 请求 pull 入我的分支?

windows - 在 Windows 中的 Git bash 中全局运行 shell 脚本

python - 在哪里克隆 Python 模块 git 存储库?