当我在本地开发分支上运行git lg
时,最新提交如下所示:
* 7d21213 - (1 hours ago) update business rules - developer1 (HEAD, origin/develop, origin/HEAD, develop)
但是,如果我通过运行git stash
来存储本地更改,然后运行git lg
,则会得到以下信息:
* at12334 - (13 seconds ago) WIP on develop: 7d21213 update business rules - developer1 (refs/stash)
|\
| * ef9a11b - (14 seconds ago) index on develop: 7d21213 update business rules - developer1
|/
* 7d21213 - (1 hours ago) update business rules - developer1 (HEAD, origin/develop, origin/HEAD, develop)
这是什么意思?似乎在隐藏之后创建了两个新的提交(标记为index
和WIP
)。是这种情况,如果是的话,这种提交背后的逻辑是什么?
git lg
是在测试环境中已定义为的别名,>]
git log --graph --abbrev-commit --decorate --date=relative --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)' --all
当我在本地开发分支上运行git lg时,最新提交如下所示:* 7d21213-(1小时前)更新业务规则-developer1(HEAD,origin / develop,origin / HEAD,develop)...
git lg
?什么git lg
?“ WIP”是--all
的首字母缩写。这意味着即使您没有自然的停止点,也建议您暂时保存工作的当前状态。
git stash
中恢复此处说明的命令似乎确实有效,并且向我展示了我的所有提交,包括WIP。现在我应该执行以下命令。我只是不确定哪个是YOUR_WIP_COMMIT_HASH。git stash应用your_wip_commit_hashHgit log --graph --oneline --decorate $(git fsck --no-reflog | awk'/ dangling commit / {print $ 3}')')检查对象目录:100%(256/256),已完成。检查对象:已完成100%(1239/1239)。*-。 efb3fe0主服务器上的WIP:2643ceb初始CELS日志记录结构| \ \| | *主服务器上的47429bc未跟踪文件:2643ceb初始CELS日志记录结构| *主服务器上的44f39f8索引:2643ceb初始CELS日志记录结构| /* 2643ceb(HEAD-> master,origin / master / origin,origin / HEAD)初始CELS日志记录结构* 202d8a7 PlanView Services已集成到系统中* fd23fd8初始项目结构* 655b445具有框架更改的更新解决方案* 8b138bd将.net框架更改为4.8* ca98728新鲜溶液* 7dd0ed0已删除,因为项目名称需要自定义* 1deb0a7初始项目设置您能告诉我哪一个是我应将git stash应用到的最新哈希。提前非常感谢。