邀请开发成员
可以邀请别的github用户来参与你的项目。
拉取操作
pull
我们可以使用pull来拉取远程仓库分支中的内容进行合并,别的成员分支提交到内容我们可以下载到本地仓库工作区中。
使用命令:
git pull [要拉取的远程仓库链接(origin)] [要拉取的分支]
pull是把本地工作区 暂存区 和 远程仓库全部进行拉取操作。
fetch + merge (推荐)
我们还可以把提取操作分为两步来进行使用fetch + merge
命令:
git fetch [要拉取的远程仓库链接(origin)] [要拉取的分支]
git merge FETCH_HEAD
先执行fetch 他不会影响你的本地工作区,先检查是否有错误或者别的问题在merge合并本地工作区的文件。
而pull是这两个方法一起执行了。
为了能更清楚区分,我把本地工作区多余的文本全部删除,然后在官网新建一个pullcs.txt文本,我们在进行操作。
先执行fetch,可以看到工作区并没有新文件的添加,但是我们要怎么查看新的内容呢,他这里返回了一个FETCH_HEAD 我们可以使用他来查看拉取的信息。
我们可以使用:
git log -p FETCH_HEAD
能看到新加的pullcs 和 备注提取测试,而不影响我们的工作区,查看过后在看是否要拉取到本地。
在执行merge把内容拉取到工作区。
冲突解决
在拉取远程仓库和合并分支的时候,可能会遇到修改的是同一行这种情况然后会多一些东西提示是这是哪里修改的内容。
Master|EMRGING 这是合并状态,提示你现在还处在合并状态,这个状态下不能进行正常操作。
HEAD是本地工作区的内容,下面origin/master是远程仓库master主分组拉取过来合并的内容。
先使用status查看状态
然后我们可以和分支提交商量去修改保留,要去问仓库的主人或者提交分支的人应该怎么修改。 如这里就改成和远程仓库一样 保留修改后的内容 然后进行add提交 就可以了。
进行add后 查看状态发现文件已经提示表绿 但是我们的分支名字还是显示在合并的状态。
这里让你使用 git commit 来结束合并状态。
使用git commit 结束合并状态 解决冲突。
这里要注意的是 不能后面跟文件名字 打完备注后 直接回车。
总结
可以把pull理解为fetch和merge的结合,分开两步更加安全一些。
fetch是把远程仓库的内容拉取到本地,我们可以查看,然后使用merge把这些内容拉取到工作区。
直接使用pull容易造成冲突。