zoukankan      html  css  js  c++  java
  • git服务器创建,冲突解决,远程仓库获取指定文件

    1、git服务器创建

    在公司多人协作开发的情况下,不能简单地使用github,因为github是互联网公开的,这种情况公司的代码的保密性就会丧失了。这种情况下,需要创建git服务器。

    登录服务器,使用git init --bare xx.git创建空的git版本库,这个版本库比较特别,和tree不是一回事,在这个目录下也没法运行git命令。

    之后在工作的机器上,clone此版本库。

    多人clone以及pull、push就可以实现协同开发。

    然后本地的操作方法就都和一般使用git一样了,只不过ip不是对应github而是自己的git服务器。

    2、冲突解决

    多人协同开发的时候,如果两个人改了同一个文件,其中A提交了并push了改动。

    这种前提下,B先pull,发现冲突,此时必须解决冲突才能提交。

    此时有一种可能,B只需获取更新,覆盖自己的改动即可。

    这时可运行命令

    git fetch --all  
    git reset --hard origin/master 
    git pull

    如果B既需要获取更新,还需要把自己的改动提交,那就先保存自己需要提交的文件,然后使用上述方法覆盖本地,之后再将之前保存的需要提交的文件提交即可。

    3、还有一种常见需求,那就是一个项目,并不是所有文件都需要上传,也并不是所有文件本地都需要获取。例如,一个项目IDE自动生产的项目配置文件和编译生成的文件。

    这种情况,需要commit指定文件。

    获取时,不能直接pull,而应先fetch,然后采用 git diff HEAD FETCH_HEAD查看远程仓库与本地的差别,最后使用git checkout origin/master -- /path/file的命令更新指定文件到本地。

    如下图所示,一个用户A上传到远程仓库两个文件1.txt和2.txt,另一个用户B若只需更新1.txt:

    查看目录只获取到1.txt。

  • 相关阅读:
    Log4Net 配置详解
    .Net Core 获取应用物理路径的常见问题
    Js/Jquery获取iframe中的元素
    Ztree树使用详解
    【解决】nginx + socket.io ,能连接但不响应事件
    基础文档官方链接
    位运算
    Java基础之集合框架--Collections.reverse()方法
    Android动画攻略—帧动画、补间动画、属性动画
    [转]京东mPaaS移动日志建设与应用
  • 原文地址:https://www.cnblogs.com/rixiang/p/6674289.html
Copyright © 2011-2022 走看看