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方式,让它看起来更加好