Git使用和冲突处理

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 文件名 文件名
3git 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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 去雪山的这天,我早早的起床,在上车的地方等待。 一个小时的路程就到了,途中经停雪山脚下。 抬头看,一座在阳光照耀下...
    海底的沙砾阅读 189评论 0 1
  • 我有一个好朋友,从零开始3年的时间从最初的年薪10w到现在的年薪35W,三本院校毕业,能力中等。 回顾...
    D048魔法阅读 227评论 0 2
  • 【课程导师】王建峰 中国生命关怀协会心理健康专业委员会执行主任 传播智慧 爱的行者 国内开展实战类型课程最丰富的专...
    文峰区心协阅读 4,182评论 1 3