1.在GitHub上创建个人仓库
现在仓库中有LICENSE文件,但本地没有这个文件,该怎么办呢?往下看
2.把本地仓库同步到GitHub
3.不同人修改了不同文件如何处理?
两个人在同一个分支上,两个人修改了不同文件
其中一人:
另外一个:
下一步:
git fetch github
git checkout -b feature/add_git_commands github/feature/add_git_commands
转换到git_learning目录中
删除没有用的文件
如果这个时候进行push,则会出错
不能强制修复,需要解决问题如下:
如果两个人修改的是不同的文件,合并git merge github/feature/add_git_commands
这个时候在进行push就可以
4.不同人修改了同文件的不同区域如何处理?
一个是在git_learning_02目录下:
修改index.html
另一个是在git_learning目录下:也修改index.html
提交远端
然后在git_learning_02目录下再进行提交
解决问题:
git fetch再merge
5.不同人修改了同文件的同一区域如何处理?
进入工作区,先记得同步一下
git_learning目录
git_learning_02目录
这个时候git_learning目录下也进行提交,就会出错
解决merge冲突,并且生成了新的commit的情况
记得:本地的冲突解决完之后还需要push到远端
6.同时变更了文件名和文件内容如何处理?
在多人协作的情况下,有人把一个文件的文件名变更了,其他人不知道,在不知道的情况下,其他人在原来文件名的基础上对内容进行了变更,这种情况,合并会发生什么问题?
1.文件名变更
2.另外一个人在本地已经变更了文件的内容
3.文件名变更的情况先push上去
然后 变更了文件的内容在进行push,就会报错
4.把远端变更文件名的拉下来,然后进行merge
git会很智能的合并在一起
7.把同一文件改成了不同的文件名如何处理?
一个人修改了这个文件的文件名,其他人也修改了这个文件的文件名,多人进行修改同一个文件的文件名,肯定会有提交的先后顺序,那么git该怎么处理?
这个时候git_learning已经提交,然后git_learning_02不知道,也想要提交,就会报错
git让我们去解决冲突
有冲突,自己解决
提交成功
8.禁止向集成分支执行push-f操作
本地分支改变到指定位置
远端强制改变到指定位置
所以,在集成分支上是严格禁用push-f这项操作的!!!
9.禁止向集成分支执行变更历史的操作
在团队协同工作当中,公共的分支是严禁拉到本地做rebase变更的,历史是不能更改的!!
另外一个人想要提交,就会出错
所以,集成分支千万不要对它做变基的行为,只能在现有的情况下,在往上做增加的commit方式,让它看起来更加好