Git使用和冲突处理

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_19678579/article/details/80592238

一.流程操作

1. git 使用

cd 进需要存放的文件夹中

if(git上没有项目)
{
    1.git init    //创建一个Git仓库
    2.在此路径中创建项目
    3.git remote add origin git@github.com:CoderLanni/PCH-Const-.git  
    4.git status
    5.git add 文件名 文件名
    6.git commit -m "提交提示信息"
    7.git pull
    8.git push
}
else{
    1.git clone git@github.com:CoderLanni/PCH-Const-.git  
    2.git status
    3.git add 文件名 文件名
    4.git commit -m "提交提示信息"
    5.git pull
    6.git push
}

每次使用都需要跑一边提交流程

1.git status
2.git add 文件名 文件名
3.git commit -m “提交提示信息”
4.git pull
5.git push

2. 文件冲突

当 add && commit && pull 后出现冲突

打开冲突文件,找到代码中会被<<<<<<< 、=======、>>>>>>>包围,这是冲突标记:冲突标记<<<<<<< 与=======之间的内容是我的修改,=======与>>>>>>>之间的内容是别人的修改。
然后再跑一边提交代码流程

3. 配置文件冲突

在ios的开发中有些配置文件xcode是会自动生成修改的,每部电脑都会不一样,然后多人开发git pull时则会出现些那一处理的代码冲突(不能进文件<<<<<<< 、=======、>>>>>>>中修改)

特别是project.pbxproj这个文件不好处理,不提交就缺少引用要手动add files ,提交又容易引发冲突

error: Your local changes to the following files would be overwritten by merge:
.DS_Store
myApp.xcodeproj/project.pbxproj
Please, commit your changes or stash them before you can merge.

1.如果希望保留git服务器上所做的改动,仅仅并入新配置项, 处理方法如下:

(要先git add 和 git commit把自家修改的代码提交到本地git仓库中)

git stash
git pull
git stash pop
git push

扫描二维码关注公众号,回复: 2985400 查看本文章

git stash是指把本地仓库的自己代码放在暂存区中
git pull把远程的代码pull先来(假如有代码冲突需要进去文件的<<<<<<< 、=======、>>>>>>>中修改,修改完成后再次add 和commit 以及pull一次)
git stash pop然后把暂存区重中的代码合并过来

然后可以使用git diff -w +文件名来确认代码自动合并的情况.


2.反过来,如果希望用git代码库中的文件完全覆盖本地工作版本(基本上不会这样处理). 方法如下:

git reset –hard
git pull

其中git reset是针对版本,如果想针对文件回退本地修改(单独取消此文件的本次修改,丢弃工作区的改动),使用

git checkout HEAD myApp.xcodeproj/project.pbxproj








二.零散操作处理

1.git add 多个文件,但却想要忽略其中的某一个文件

使用 git add fileName fileName 把多个文件放入暂存区
通过git reset HEAD fileName 命令将某个已经被放入暂存区的文件撤销到工作区


2. .gitignore规则不生效

.gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。
解决方法就是先把本地缓存删除(改变成未track状态),然后再提交:

git rm -r --cached .
git add .
git commit -m 'update .gitignore'
git pull
git push

3. 合并分支

两个分支相互切换合并

1.创建新分支 bugFix

     git branch bugFix

2.切换到该分支

     git checkout bugFix

3.提交一次

      git add
      git commit

4.切换回 master

     git checkout master

5.再提交一次

    git add
    git commit

6.用 git merge 把 bugFix 合并到 master

    git merge bugFix

7.(master 的分支被混入到所有的提交记录,但 bugFix 没有,所以要进行下面的操作) 再把 master 分支合并到 bugFix(因为 master 继承自 bugFix,Git什么都不用做,只是简单地把 bugFix 移动到 master所指向的那个提交记录。)

     git checkout bugFix; 

     git merge master

猜你喜欢

转载自blog.csdn.net/qq_19678579/article/details/80592238