gpt4 book ai didi

Git checkout 不会改变任何东西

转载 作者:IT王子 更新时间:2023-10-29 00:50:31 32 4
gpt4 key购买 nike

我真的很喜欢 git。至少,我喜欢 git 的想法。能够将我的主项目作为一个单独的分支 checkout ,我可以在其中更改我想要的任何内容,而不会冒着搞砸其他一切的风险,这真是太棒了。但它不起作用。

基本上,我的工作流程是这样的:

  1. 将稳定版本 checkout 到新分支以试验新代码
  2. 进行大量更改 - 我无意保留其中任何一个,我只是在试验。
  3. 看看我改变的所有东西
  4. 添加要跟踪的所有更改
  5. 提交分支并将分支推送到源(如果有效,否则跳过此步骤)
  6. 决定尝试另一种方法,回到master
  7. 观察我工作的实验分支的工件,即使我在 master 分支。

每次我将一个分支 check out 到另一个分支,对一个分支进行更改,然后 check out 原始分支时,我仍然拥有另一个分支中发生的所有文件和更改。这变得非常令人沮丧。我已经读到,当您在执行此操作时在 IDE 中打开文件时可能会发生这种情况,但我对此非常小心,并且在切换之前都关闭了 IDE 中的文件,关闭了 IDE,并关闭了我的 Rails 服务器分支机构,这仍然会发生。此外,运行“git clean -f”要么删除任意提交后发生的所有内容(并且是随机的),要么像最近的情况一样,不会将任何内容更改回其原始状态。

我以为我正确地使用了 git,但在这一点上,我已经无计可施了。我正在尝试使用我的项目的稳定版本来处理一堆实验代码,但我一直不得不手动跟踪并修复我所做的所有更改。有什么想法或建议吗?

git checkout -b photo_tagging
git branch # to make sure it's right
# make a bunch of changes, creations, etc
git status # see what's changed since before
git add . # approve of the changes, I guess, since if I do git commit after this, it says no changes
git commit -m 'these are changes I made'

git checkout master
git branch #=> *master

# look at files, tags_controller is still there, added in photo_tagging
# and code added in photo_tagging branch are still there in *master

无论我是否在分支上进行提交,这似乎都会发生。

最佳答案

当我尝试将 temp 从 master 分支切换到另一个分支时遇到了这个问题,当我在该临时页面上更改某些内容并且没有提交更改时我会再次检查 master 分支,它实际上 merge 了所有更改TEMP 分支进入 MASTER。

回答:

每当您 checkout 到 TEMP 分支时,请提交您的更改。这样,如果您将它们提交到 TEMP 分支并再次 check out MASTER,它将按预期工作。

关于Git checkout 不会改变任何东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4515644/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com