Git冲突的产生与解决和忽略文件操作

多人修改出现冲突

当别人直接在线上对我们的文件进行了修改:修改了readme.txt文件,进行了新加了内容,
Git冲突的产生与解决和忽略文件操作
但是在这个时候,自己在本地又对文件内容进行修改。修改完成之后,要对文件进行提交。
Git冲突的产生与解决和忽略文件操作
这个时候就会出现一个问题。如下所示:会提示需要先进行git pull操作。
Git冲突的产生与解决和忽略文件操作

解决方法

先进行 git pull 拉取文件到本地。
Git冲突的产生与解决和忽略文件操作
这个时候打开对应的文件
Git冲突的产生与解决和忽略文件操作
对文件当中不需要的内容进行删除,然后使用命令再一次提交。
Git冲突的产生与解决和忽略文件操作

忽略文件

场景:在项目目录下有很多万年不变的文件目录,例如css 、js、images等,或者还有一些目录即便有改动,我们也不想让其提交到远程仓库的文档,此时我们可以使用“忽略文件”机制来实现需求。
忽略文件需要新建一-个名为.gitignore.的文件,该文件用于声明忽略文件或不忽略文件的规则,规则对当前目录及其子目录生效。
注意:该文件因为没有文件名,没办法直接在windows目录下直接创建,可以通过命令行Git Bash来touch创建。

常见规则写法有如下几种:

命令 说明
/mtk/ 过滤整个文件夹
*.zip 过滤所有zip文件
/mtk/index,java 过滤某个具体文件
! index.php 不过滤具体某个文件

案例:
在本地创建一个目录,在该目录下创建一个文件
直接对目录进行提交:这个时候所有的文件都被提交到线上,
Git冲突的产生与解决和忽略文件操作
需要对文件进行过滤:使用命令创建.gitignore文件,在windows下无法创建只带后缀的文件,所以使用命令行进行创建。
Git冲突的产生与解决和忽略文件操作
对文件进行编写规则,如过滤所有的该路径下的所有文件 /java/
在java目录下新建一个文件,再对这个目录进行提交:
Git冲突的产生与解决和忽略文件操作
与前文相同,对目录进行提交:
Git冲突的产生与解决和忽略文件操作
提交完成之后,在github当中查看是否过滤掉了文件。依旧只有一个index.java文件,而test.java文件并未提交上去。
Git冲突的产生与解决和忽略文件操作