跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • git 切换分支后,如何恢复至原来干净的工作区?
未分類
13 5 月 2020

git 切换分支后,如何恢复至原来干净的工作区?

git 切换分支后,如何恢复至原来干净的工作区?

資深大佬 : xiaoming1992 57

// branch: master content-of-master  // branch: issue-53 content-of-master-and-addition-of-issue-53 

现在我从 issue-53 切换回 master, 想回到原来干净的工作区( working directory ), 是执行 reset 吗?

大佬有話說 (18)

  • 資深大佬 : wqshare

    git reset –hard HEAD

  • 資深大佬 : sbw

    commit 到第二个分支然后 checkout 回去,或者直接 checkout 回去然后 checkout — . 撤销修改或者 stash push 保存临时修改再 checkout 回去或者 checkout 回去再 reset 再 checkout — .

  • 資深大佬 : fzhyzamt

    是在 issue-53 写的代码,没有提交,然后切换到 master 分支吗?
    如果不想要这些代码,git reset –hard HEAD,注意这是个无法回滚的操作,谨慎执行
    或者暂存起来 git stash save

  • 資深大佬 : wqshare

    上面是重置已加入版本管理的文件,对于没有加入的文件,比如一些临时文件等,再加上:git clean -d -x -f (加上-n 可以预览)

  • 主 資深大佬 : xiaoming1992

    @fzhyzamt 已经提交了,但是切换回 master 分支后,希望在工作区移除这些新增的内容,让 master 的工作区回复到原来的状态

  • 資深大佬 : msg7086

    你去其他分支的时候,原分支管理的文件本来就会被替换 / 删除掉,不需要手动移除。
    只有未受管理的文件才会留下。

  • 資深大佬 : zyq2280539

    git pull –rebase
    git reset –hard
    git clean -d -f

  • 主 資深大佬 : xiaoming1992

    @msg7086 我菜 b 了,原来只要添加到提交就行了,我原来是仅一部分提交了,还有一部分没提交,我只看到没提交部分还存在。。。

    0202 年第一次用这些功能的我好像有点捞。。。

  • 資深大佬 : KuroNekoFan

    我看了下你的问题,多数都在 StackOverflow 上有现成的回答

  • 資深大佬 : dswyzx

    git stash 贮藏了解一下.
    将本地不想提交的或者暂时搞一半的暂存起来

    git reset 是不能恢复的.不要轻易使用

  • 主 資深大佬 : xiaoming1992

    @KuroNekoFan #9 我看了下你的问题,多数都在 StackOverflow 上有现成的回答
    我创建的主题一共有 40 个左右,我感觉除了本问题和 [浏览器是怎么处理.html 文件的缓存的] ,我的其他问题不怎么符合 [在 StackOverflow 上有现成的回答] 吧?

  • 資深大佬 : hlx

    只要是 commit 过的都不会丢嘎, 所以随便 reset –hard, 不行 git reflog 找回嘎

  • 資深大佬 : hlx

    https://www.liaoxuefeng.com/wiki/896043488029600/897013573512192
    学一波, 学一波

  • 資深大佬 : hlx

    @fzhyzamt
    @dswyzx
    可以撤销, 可以撤销, git reflog 了解一下, 只要是 commit 过的都可以找回,
    廖大大的 Git 教程搞一波

  • 資深大佬 : no1xsyzy

    @hlx reflog 不保证时效啊

  • 資深大佬 : hlx

    @no1xsyzy 好吧, 长见识了, 我这个野生程序员又…

  • 資深大佬 : SjwNo1

    切回到 master 貌似不会影响

  • 資深大佬 : SoloCompany

    一般 moving HEAD 不用做任何事情
    只有两个 HEAD 的 gitignore 不一致的时候可能会导致切分支后不干净
    那么如果那些遗留的内容确认是不重要的话, 可以使用 clean -f -d 清理

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具