勇哥注:
由于VS自带有git管理功能且相当完善,所以第三方git工具相对来讲就显得不那么重要。
通常技术人员会刻意维护技术的复杂性,会Git的人,可能会鄙视用Fork之类git图形化软件的人、
以上两者都会鄙视用vs自带git工具的人,因为一门技术一但傻瓜就会伤了一些前辈的自尊。
我们还是抛弃掉这种技术自尊,努力适应傻瓜型的新技术吧!(也许未来低端的编程都会傻瓜到机器自己去编制了)
系列贴子汇总:
VS的git功能,团队资源管理器(一)怎么知道代码被git托管了,Git托管的主要功能
VS的git功能,团队资源管理器(二)第一次使用Git的必要设置、建立存储库的几种方法
VS的git功能,团队资源管理器(三)复制远端的存储库(代码仓库)
VS的git功能,团队资源管理器(四)分支历史、推送、.gitignore忽略文件
VS的git功能,团队资源管理器(五)同步 提取 拉取 推送
问题1: 我确认手头上版本比线上的版本要老。但是我希望手里版本是最新修改的版本。
如果出现本地与线上版本不同的时候,vs会报下面的错误:
“无法将分支 dev 推送到远程 origin,因为远程存储库的分支中有新的提交。推送此分支将导致远程存储库中的分支发生非快进更新。”
正常的解决方案如下:
解决方案: 1. 先从远程存储库拉取最新的更新; 2. 将本地的 dev 分支与远程的 dev 分支合并; 3. 然后再推送 dev 分支到远程存储库。
如果是本例的情况,则需求有些不同之处:
我不能从远程存储库拉取最新的更新,因为我确认我本地的版本才是最新的修改,远端的修改对我没有意义。
这怎么情况下怎么办呢?
解决方案如下:
可以尝试使用Git的“强制推送”功能来覆盖远程的分支。你可以使用以下命令: git push --force origin dev 这将强制将你本地的分支推送到远程,覆盖远程的任何更改。 但是,请注意,这可能会导致其他开发人员的更改丢失,因此请谨慎操作。
另外,关于“非快进更新”和“快进更新”的名词说明如下:
非快进更新指的是在Git中,每次更新操作都会更新所有文件,而不仅仅是更新某个文件。 快进更新指的是在Git中,只更新那些发生变化的文件,而不是更新所有文件。 例如,在一个Git仓库中有10个文件,如果使用非快进更新, 每次更新操作都会更新所有10个文件;而使用快进更新, 只会更新那些发生变化的文件,比如只更新2个文件,而不是更新所有10个文件。
问题2:“同步”时报错
CodeLens: 找不到存储库 E:\git_WaseHouse\SMotion_v3 的当前分支信息 未知合并结果。
这个错误很奇怪,如果我此时“推送”是可以成功的。
但是“同步”就报错。为什么是“找不到存储库”呢?
既然能推送,本地和远程存储库就是存在的。
此问题,虽然可以临时用“推送”,但是原因还待继续研究。
---------------------
作者:hackpig
来源:www.skcircle.com
版权声明:本文为博主原创文章,转载请附上博文链接!

