git stash并申请

我是git的新手,并不清楚stashing是如何工作的。


假设我正在分支主服务器上工作并尝试git pull接收错误,即我的本地更改将被覆盖并需要被隐藏或提交。如果我没有上演我的任何更改并运行git stash,那么做一个git pull并成功更新,当我发生了什么git stash apply?


一般来说,如果其他人修改文件并且我运行git pull,那么当我发生时会发生什么run git stash apply?它是否会覆盖刚刚更新的文件,无论它们是否在我存储时被暂存?它是否会覆盖我刚刚更新过的每个文件,git pull以及被隐藏的文件?


富国沪深
浏览 499回答 3
3回答

米琪卡哇伊

stash git命令记住存储来自哪里:   git stash list出去   stash@{0}: WIP on master.color-rules.0: 35669fb [NEW] another step toward initial cube在哪里可以看到它在哪个SHA1上制作。因此,如果你git stash,git pull,git stash apply并且你遇到了冲突,那么stash不会被删除(只有当你丢弃或者申请成功时才会被删除)。所以你总是可以从git stash list中获取SHA1   git checkout 35669fb   git stash apply工作是有保障的。我建议使用-b选项并为该恢复提供分支名称。话虽这么说,我最喜欢的工作流程是总是在新的“personnal”名称下结账,以避免这些问题

尚方宝剑之说

通常未提交的更改总是很糟糕。你的改变是好的,然后提交它们,或者它们是坏的而不是丢弃它们。在进行未提交的更改时执行任何git操作往往会导致麻烦,git将无法帮助您,因为git不知道您未提交的任何内容。话虽如此,回到你的问题。;)Git通常非常聪明。应用您的存储时,它会尝试将您的更改与其他更改合并。大部分时间这都是有效的。如果更改确实发生冲突,因为您以不同的方式更改了相同的行,git会告诉您,您必须自己解决冲突。- 即使在这种情况下,git也会帮助你git mergetool,它将启动一个合适的命令来向你显示冲突并允许你逐个解决它们。
打开App,查看更多内容
随时随地看视频慕课网APP