1.git fetch和git pull之间的区别
git fetch只会将本地库所关联的远程库的commit id更新至最新,fetch不会改变代码,如果想使代码更新,需要使用git merge origin/master,以上的两步可以合并为一步:git pull origin master (获取代码并合并)
git pull会将本地库更新至远程库的最新状态,获取代码并自动合并.
 
 
2.git fetch后怎么比较差异,也可以在fetch后再 Compare with Branch (in pycharm)
Git中从远程的分支获取最新的版本到本地有这样2个命令:
1. git fetch:相当于是从远程获取最新版本到本地,不会自动merge
Git fetch origin master
git log -p master..origin/master
git merge origin/master
以上命令的含义:
  首先从远程的origin的master主分支下载最新的版本到origin/master分支上
  然后比较本地的master分支和origin/master分支的差别
  最后进行合并
  上述过程其实可以用以下更清晰的方式来进行:
git fetch origin master:tmp
git diff tmp
git merge tmp
 
3.关于冲突
如果两个开发者修改了同一个文件的同一段代码,或者修改了同一个文件路径,提交并push到sourceTree时会提示冲突。需要先修正本地冲突,冲突的标志是“<<<<<<<”,"=======",">>>>>>>"之间的部分,解决的办法:
(1)第一种是逐行删掉冲突,找到protect.pbxproj,右键选择“在finder中查看”,找到protect.pbxproj文件双击打开,cmd+f搜索“<<<<<<<”,找到冲突的部分,删除“<<<<<<<”及其对应的行,删除“=======”及其对应的行,删除“>>>>>>>”及其对应的行,然后重新提交就可以了。
(2)第二种方法,右键---->解决冲突——>使用他人版本解决冲突---->确定-----重新提交
(3)第三种方法,revert冲突的本地文件,然后重新提交
 
如果文件已经提交到本地仓库,但未push到服务器,出现冲突,可以回滚本次提交。
拉取文件时如果出现文件冲突,解决办法:revert冲突的本地文件,然后重新提交。
 
(下边是我自己的总结,关于冲突的解决方案)
这里需要说明的是,冲突大概有两种情况:
(1)没有代码的文件冲突:一般像config或者工程文件冲突,我们的处理就是放弃自己的本地修改,即revert(重置)自己的config或者工程文件,再次拉取就没有什么问题了。
(2)有代码的文件冲突:这种情况就要注意了,十分建议在进行下一步操作之前,备份一份自己的代码,最少是自己动过的类,不然很有可能自己的辛苦劳动在“重置”之后不见了。这种情况我的处理方法是:备份后选择将冲突的类全部重置,然后拉取,此时就不会冲突了,再把自己写的代码拷贝到拉取后的相应的类文件里面,再提交推送就可以了。
(3)小技巧避免冲突:一般我们提交代码的顺序是:拉取-提交-推送。这个没有问题,但是有时候会只是提交了,忘了推送,过了一个小时或者一段时间,才想起来,结果推送的时候冲突了,甚至你即便刚刚提交了,马上点击推送,都可能造成冲突:因为有人可能在你操作:拉取之后,提交之前,又推送了,你的版本不是最新的版本了,可能造成冲突。所以建议大家提交代码的顺序是:拉取-提交-拉取-推送。而且,最好是提交了代码,马上拉取,马上推送,尽量避免不冲突。因为冲突给我们带来不必要的麻烦
甚至有这种方法避免操作,屡试不爽:想提交自己的代码了,先不拉取,先提交,提交好了,再拉取,再推送,即:提交-拉取-推送。这种方法基本上不会冲突,因为保证了你的代码是最新的版本,这种操作下甚至于两个人同时动一个类文件都不会冲突。总之,建议大家使用这种方法。亲测无误。
(4)提交代码只动自己的类,不要动别人的!如果,在开发过程中,两个人需要动同一个类的话,两个人商量好,谁先谁后,不要出错就好了。
 
 
 

git fetch and git pull &冲突的更多相关文章

  1. git fetch 、git pull 与 git pull --rebase

    1. git fetch 与 git pull 都是从远程拉取代码到本地,git fetch只是拉取到本地,git pull不仅拉取到本地还merge到本地分支中.所以git pull是git fet ...

  2. 合并代码操作 | git fetch 与 git pull

    前言 首先我们要说简单说git的运行机制.git分为本地仓库和远程仓库,我们一般情况都是写完代码,commit到本地仓库(生成本地仓的commit ID,代表当前提交代码的版本号),然后push到远程 ...

  3. git pull、git fetch、git merge、git rebase的区别

    一.git pull与git fetch区别 1.两者的区别       两者都是更新远程仓库代码到本地. git fetch相当于是从远程获取最新版本到本地,不会自动merge. 只是将远程仓库最新 ...

  4. git fetch和git pull对比

    情景重现 你:面试官您好,我是xxx,毕业于xxx学校,工作xxx年,精通各种git命令. 面试官:您好您好,我问个常见的问题考察一下您的技术水平哈.请问,git pull和git fetch有什么区 ...

  5. Git fetch和git pull的区别

    Git中从远程的分支获取最新的版本到本地有这样2个命令:1. git fetch:相当于是从远程获取最新版本到本地,不会自动merge git fetch origin mastergit log - ...

  6. git fetch和git pull(转载)

    From:http://www.tech126.com/git-fetch-pull/ Git中从远程的分支获取最新的版本到本地有这样2个命令: 1. git fetch:相当于是从远程获取最新版本到 ...

  7. git fetch和git pull之间的区别--转载

    原文地址:http://blog.csdn.net/a19881029/article/details/42245955 git fetch和git pull都可以用来更新本地库,它们之间有什么区别呢 ...

  8. Git fetch和git pull的区别(转)

    原文: http://www.tech126.com/git-fetch-pull/ Git中从远程的分支获取最新的版本到本地有这样2个命令:1. git fetch:相当于是从远程获取最新版本到本地 ...

  9. 关于git fetch 和git pull 的区别

    1.fetch 相当于是从远程获取最新版本呢到本地,不会自动merge. git fetch origin master:tmpgit diff tmp git merge tmp 2. git pu ...

随机推荐

  1. gruop by报错this is incompatible with sql_mode=only_full_group_by

    set @@GLOBAL.sql_mode=''; set sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_ ...

  2. CComSafeArray

    https://blog.csdn.net/tangaowen/article/details/6554640

  3. CString 作为参数执行都不执行

    static int LoadUsbSDK(CString curpath ) win10系统下 CString 函数加载dll直接跳过 加载dll最好不要带参数

  4. pip安装包

    默认的在安装文件的Lib\site-packages\路径下面 cmd窗口 cd切换路径:C:\Users\admin\AppData\Local\Programs\Python\Python36\S ...

  5. 数据库链接 mybatis spring data jpa 两种方式

    jdbc mybatis                     spring data jpa dao service webservice jaxrs     jaxws  springmvc w ...

  6. org.apache.hadoop.ipc.RemoteException: java.io.IOException:XXXXXXXXXXX could only be replicated to 0 nodes, instead of 1

    原因:Configured Capacity也就是datanode 没用分配容量 [root@dev9106 bin]# ./hadoop dfsadmin -report Configured Ca ...

  7. Winform窗体控件级权限处理

    公共类: static class PowerHelper    {        /// <summary>         /// 设置form上的组件的权限         /// ...

  8. Kendo UI中TreeView 放入tabstrip中,大数据量时超过边框的解决方案。

    参考http://www.kendoui.com/forums/ui/tabstrip/tabstip-with-treeview-treeview-breaking-out-of-tabstrip. ...

  9. 《Just for Fun》---读后感

    <Just for Fun>本书是Linux之父林纳斯自传,书名的意思是:只是为了好玩.主要是讲了林纳斯的人生经历,以及Linux的诞生过程.Linux从一个终端仿真器到一个世界瞩目的操作 ...

  10. 2018.08.10 atcoder Median Sum(01背包)

    传送门 题意简述:输入一个数组an" role="presentation" style="position: relative;">anan. ...