供参考:我的 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
或在我最后一次真正提交的状态下返回到它们以前的状态。