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。
git服务器创建,冲突解决,远程仓库获取指定文件的更多相关文章
- git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移
注意:此处省略git的安装 1..git的工作流程示意图: 2.本地仓库的初始化: 2.1 创建一个文件夹,如我创建的是:D:\gitdemo\shop 2.2 进入shop目录,鼠标右键,打开git ...
- Git 学习(五)远程仓库
Git 学习(五)远程仓库 之前的章节所说的是本地Git仓库的操作,版本管理的优越性显然不会仅仅在本地.远程仓库也就是服务器或是网络端的仓库操作也是必须的. 本文具体说明 Git 的远程仓库操作,示例 ...
- Git分支合并冲突解决(续)
接Git分支合并冲突解决,在使用rebase合并冲突情况下,如果不小心,执行完add后执行了commit,此时本地仓库HEAD处于游离态(即HEAD指向未知的分支),如何解决? 解决方法 (1)此时, ...
- Android基础新手教程——1.5.2 Git之使用GitHub搭建远程仓库
Android基础新手教程--1.5.2 Git之使用GitHub搭建远程仓库 标签(空格分隔): Android基础新手教程 本节引言: 在上一节中.我们学习了怎样使用Git.构建我们的本地仓库.轻 ...
- git pull 发生冲突解决办法
冲突原因:远程仓库的同一个文件的代码,和本地的文件代码不一样 解决办法 : 1.git stash (把本地冲突的代码隐藏) 2.git pull 3.git stash pop (将隐藏的和pull ...
- 【Git】5、Git如何提交代码到远程仓库
提交代码:如何把修改后的代码提交到远程仓库 文章目录 提交代码:如何把修改后的代码提交到远程仓库 1.同步远程代码 2.检查改动文件 3.添加文件到缓存 4.提交代码 5.推送代码 6.我的整个流程 ...
- Git 分支管理和冲突解决
Git 分支管理和冲突解决 创建分支 git branch 没有参数,显示本地版本库中所有的本地分支名称. 当前检出分支的前面会有星号. git branch newname 在当前检出分支上新建分支 ...
- Git 学习笔记--Git下的冲突解决
冲突的产生 很多命令都可能出现冲突,但从根本上来讲,都是merge 和 patch(应用补丁)时产生冲突. 而rebase就是重新设置基准,然后应用补丁的过程,所以也会冲突. git pull会自动m ...
- Git下的冲突解决【转】
本文转载自:http://www.cnblogs.com/sinojelly/archive/2011/08/07/2130172.html 冲突的产生 很多命令都可能出现冲突,但从根本上来讲,都是m ...
随机推荐
- js进阶 9-5 js如何确认form的提交和重置按钮
js进阶 9-5 js如何确认form的提交和重置按钮 一.总结 一句话总结: 1.这个并不好做:onsubmit 里面的代码必须返回false才能取消onsubmit方法的执行,所以,有return ...
- 输入框改变placeholder字体颜色
::-webkit-input-placeholder { color: red;}:-moz-placeholder { color: red;}::-moz-placeholder{color ...
- SpringBoot 打包成war包,部署到tomcat
使用maven创建的springboot项目,默认是jar包,springboot还有自己带的tomcat.现在需要将项目打包,并部署到服务器tomcat下面. 1.修改pom.xml文件.将jar修 ...
- selenium firefox 提取qq空间相册链接
环境: selenium-java 3.9.1 firefox 57.0 geckodriver 0.19.1 1.大概的思路就是模拟用户点击行为,关于滚动条的问题,我是模拟下拉箭头,否则只能每个相册 ...
- 英文构词法 —— ant、ent 后缀
1. -ant:--人 accountant:会计, account(ac+count):计数,账户: assistant:助手: assist:帮助 descendant:后裔: descend:下 ...
- Hexo里如何添加广告
前期先用Hexo做个人网站,模板可以用https://github.com/828768/maupassant-hexo,关于如何加入广告,可以看一下https://sobaigu.com/hexo- ...
- 云主机CentOS 7新环境命令行搭建node工程步骤
1.用Node官网提供的命令安装node https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-d ...
- FreeBSD 内核中的SYSINIT分析【转】
FreeBSD kernel是一个膨大的系统, 对于这样一个大系统, 里面往往包含了大量的子系统和 模块,当系统初始化时这些模块就需要初始化, 按照通常的思路,这些初始化过程必须在某处 被显式地调 ...
- Windows远程连接Ubuntu (远程桌面和XDMCP)
从RHEL/CentOS转过来,几乎所有的编码都在windows下,不习惯原生linux开发.总结了远程连接的两种方式,一种用Windows自带的rdp协议,另外一种用xdmcp协议 XRDP 就是用 ...
- Extensible File System
An extensible file system format for portable storage media is provided. The extensible file system ...