0

供参考:我的 master 分支本质上是一个死分支(我几个月没有访问过),所有部署都是从我的 dev2 分支进行的。因为我的其他项目都使用master,所以签出到master是一个自然反射的错误。

对于上下文:我在一个功能分支上,我签出到 master 并且我所有未跟踪的文件都自动更新了。我需要这些文件恢复到以前的状态,以便我的代码能够正常工作。

这是我的操作列表及其相关的 git 通知:

从一棵干净的工作树上,git checkout master

$ git checkout master

Updating files: 100% (59224/59224), done. Switched to branch 'master'

我跑了一个git status

$ git status

Untracked files: (use "git add ..." to include in what will be committed) 
  .DS_Store 
  .env node_modules/.bin/ 
  etc. 

但请注意,列表很长,它们是节点模块和 cp 资源文件。

我跑了一个git add,然后git stash

$ git add .
$ git stash

Saved working directory and index state WIP on master: c28616b90 fix ht access

然后我做了一个git status

$ git status 

On branch master Your branch is up to date with 'origin/master'. nothing to commit, working tree clean

签出一个名为“dev2”的工作分支,它本质上是我的主分支

$ git checkout dev2

Updating files: 100% (59224/59224), done. Switched to branch 'dev2'

似乎 master 上更新的未跟踪文件已跟随我到其他分支并更新了这些分支。

这是一个 git 日志

$ git log

commit f45afe47f6c5d4e1e63c71748cd556d9c133fd21 (HEAD -> tyClients)
commit c82fb69f9147082ccdfe6d955be7e4a5508b7f3a (origin/dev2, mobForms, dev2)

文件更新在我的 gitignore 中。

我希望未跟踪的文件在此之前的所有分支上git stash或在我最后一次真正提交的状态下返回到它们以前的状态。

4

1 回答 1

-1

我能够使用

git stash apply

这个 3 分钟的视频对于如何在不过git stash度复杂化 git stash 概念的情况下使用非常有帮助。 https://www.youtube.com/watch?v=fXGug4itlTk

于 2022-01-14T21:42:24.677 回答