有没有遇到过git提交更新文件合并成功之后文件没更新的情况

有没有遇到过git提交更新文件合并成功之后文件没更新的情况,第1张

处理式非简单主要使用git stash命令进行处理几步骤进行处理
1、先本修改存储起
$ git stash
本所修改都暂存储起 用git stash list看保存信息:
git stash暂存修改
其stash@{0}刚才保存标记
2、pull内容
暂存本修改pull
$ git pull
3、原暂存内容
$ git stash pop stash@{0}
系统提示类似信息:
Auto-merging c/environc
CONFLICT (content): Merge conflict in c/environc
意思系统自合并修改内容其冲突需要解决其冲突
4、解决文件冲突部
打冲突文件看类似内容:
git冲突内容
其Updated upstream =====间内容pull内容====stashed changes间内容本修改内容碰种情况git知道哪行内容需要所要自行确定需要内容
解决完提交

1 git fetch:相当于是从远程获取最新版本到本地,不会自动mergeGit fetch origin mastergit log -p masterorigin/mastergit merge origin/master 以上命令的含义: 首先从远程的origin的master主分支下载最新的版本到origin/master分支上 然后比较本地的master分支和origin/master分支的差别 最后进行合并 上述过程其实可以用以下更清晰的方式来进行:git fetch origin master:tmpgit diff tmp git merge tmp 从远程获取最新的版本到本地的test分支上 之后再进行比较合并2 git pull:相当于是从远程获取最新版本并merge到本地git pull origin master上述命令其实相当于git fetch 和 git merge在实际使用中,git fetch更安全一些因为在merge前,我们可以查看更新情况,然后再决定是否合并

gitdiff对比文件的差异gitbranch列出所有分支gitlog显示提交记录分支gitbrach分支名创建分支gitcheckout分支名切换分支提交gitadd跟踪新文件或者已有文件的改动,或者用来解决冲突gitcommit把文件从stage提交到branch删除gitrm文件名不但从stage中删除,同时删除物理文件

git的submodule方式不会向仓库添加实际的的内容的,只会通过gitmodules文件保留相应的子模块的哈希值。由于你要真正要用的代码处于一个子目录中,我的方案是你先把这个子目录提取成一个单独的仓库(可以使用git-subtreesh这个脚本),然后再添加这个仓库为submodule(或者直接使用git-subtreesh把实际的代码集成到你的项目,这样别人克隆就不需要更新submodule了)。这样做的缺点就是每当上游有更新,就需要对submodule的仓库做相应更新。另外:git-subtreesh已经合并入git了,可能并不在PATH中,不能直接执行,不过应该在git的安装中的。

1、在要更新的代码文件所在的文件夹(含git文件)中打开gitBash,然后采用以下代码隐藏本地修改。
git stash
登录后复制
结果如图:
2、选择IDEA中Git里面的update project或者git pull即可。
此时本地修改是被覆盖,若要找回本地修改,


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13378360.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-24
下一篇 2023-07-24

发表评论

登录后才能评论

评论列表(0条)

保存