美文网首页Git使用git及github学习
【入门git】开始team work 流程及之间遇到的问题

【入门git】开始team work 流程及之间遇到的问题

作者: 哪种生活可以永远很轻松 | 来源:发表于2018-07-03 20:19 被阅读25次

首先记录两个小问题

git push没有权限

4月 git安装配置,根据廖雪峰老师的教程
5月 安装了ionic,顺带安装其带的git,其自动配置。
6月 git不能用,没有权限

LF will be replaced by CRLF

CRLF : Carriage-Return Line-Feed 回车换行。即回车(CR,ASCII 13, \r)换行(LF, ASCII 10, \n).
在windows中使用回车换行标识一行的结束,而Linux中则只有换行符。
这个警告的解决方案就是,禁用git自动转换。

git config --global core.autocrlf false //禁用自动转换

如果已经创建了git 需要删除.git 然后重新配置

开始team work 流程及之间遇到的问题

团队协作的方案选择

1. 团队成员clone我的远程库,在本地开发,同步到自己的远程库,然后发起pull request

这种方式不应该是团队项目所应该采取的做法,这种做法应该是参与开源项目编辑所采取的做法,clone已经存在的项目,然后进行完善之后发起请求,看项目组是不是接受你的代码。

2. 在我的远程库的设置中,添加协作者collaborators

我的远程仓库设置界面

只需要搜索到这个用户就可以向他发送请求,成为协作者就可以在远程pull仓库,本地开发之后push到远程库上。完成团队协作开发

团队成员的操作步骤

1. 在本地适当位置建立文件夹,运行git init命令来建立一个本地仓库

2. 添加与远程仓库的关联

git remote add origin git@github.com:SunLightFor6/admin.git
完成之后可以使用命令
git remote -v来查看一下远程仓库的信息
到这里和远程仓库已经建立好关系,push你的代码就可以了。

3. push你的代码

本地仓库所在文件夹的目录,设置好.gitignore文件之后,进行stage, add, commit操作,这些操作可以使用Git GUI来完成。然后push到远程仓库
git push -u origin master

选自廖雪峰老师的git教程
等待push成功,就完成了项目项目协作的入门操作。

第3步常出现的几个问题

stage文件的时候出现警告

LF will be replaced by CRLF
解决方案见本文第二点

push代码的时候失败,被远程仓库拒绝(rejected)

$ git push -u origin master
To github.com:SunLightFor6/admin.git
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'git@github.com:SunLightFor6/admin.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

这个问题出现的原因是:由于远程仓库的内容相较本地仓库最近一次pull的内容有了更新,所以需要你先从远程仓库pull下来最新的文件,然后再上传。

解决:执行命令 git pull

你可能会问,冲突怎么办?

在正常且科学合理的团队协作的过程中,一般不会出现多少冲突,这需要队友之间互相沟通好,协作好,每个人分工明确,接口定义清楚,互相耦合度低,这样就能很大程度上避免冲突了。但冲突肯定会出现,比如队友几个同时在readme文件中新增了东西。那么如果真的出现冲突了怎么办?

出现冲突git会提示你哪个文件哪个地方出现冲突,这就需要你手动处理冲突的文件。

git pull 的时候出现问题

Please specify which branch you want to merge with.
See git-pull(1) for details.

    git pull <remote> <branch>

If you wish to set tracking information for this branch you can do so with:

    git branch --set-upstream-to=origin/<branch> master

这个问题意思是git不知道你要pull的是哪一个分支。提供了两种解决思路:

  • 第一种git pull <remote> <branch> 写清楚远程分支
  • 第二种git branch --set-upstream-to=origin/<branch> master 远程分支和本地分支做绑定
$ git branch --set-upstream-to=origin/master master
Branch 'master' set up to track remote branch 'master' from 'origin'.

fatal: refusing to merge unrelated histories

这个问题很有意思,是说因为本地库和远程库的内容历史没有关联(unrelated),所以拒绝合并(refuse to merge)。一般出现在开始阶段的pull和push的时候。
$ git pull origin master --allow-unrelated-histories
配置好就可以啦

团队协作者的操作流程

上边介绍了团队协作者开始团队协作的时候的操作流程和会遇到的问题,以下归纳一下日常开发的操作流程。

  1. 每天开发第一件事 pull远程仓库,确保本地仓库内容最新。
  2. 开始开发过程
  3. commit 因为commit是带有message信息的,所以每进行完一项内容更新,最好就进行一次commit
  4. 每日工作结束,push自己今天所有的commit到远程仓库,如果遇到问题,参照上面内容解决。

Attention. 本文没有介绍分支branch的相关内容,如果要在团队协作中引入分支(git鼓励大量使用分支),则只需要创建分支,然后在分支上pull和push代码,里程碑时候merge合并分支到主分支master。

相关文章

  • 【入门git】开始team work 流程及之间遇到的问题

    首先记录两个小问题 git push没有权限 4月 git安装配置,根据廖雪峰老师的教程5月 安装了ionic,顺...

  • Team work

    以前看美剧《Mordern Family》的时候,听到里面的Phill对儿子Luk说,妈妈和我是一个team。当时...

  • SM的时间分配

    50% work with scrum team 30% work with PO 10% work with S...

  • 20180115 Record

    Team work and work review of the past half month. It migh...

  • 工作——团队

    team player 有团队合作精神的人 build a team 组建团队 work in a team 在团...

  • team work 3.0

    因为上次和老师的吵架,被老师狠狠表扬了三次,当着大家两次,在小组里一次。表扬我的努力和思辨能力。我的组员说为我打c...

  • Git 教程(一)--Git简介及操作流程

    前言 Git 教程(一)--Git简介及操作流程Git 教程(二)--Git文件操作Git 教程(三)--远程仓库...

  • Git 教程(五)--远程分支

    前言 Git 教程(一)--Git简介及操作流程Git 教程(二)--Git文件操作Git 教程(三)--远程仓库...

  • Git 教程(四)--分支原理

    前言 Git 教程(一)--Git简介及操作流程Git 教程(二)--Git文件操作Git 教程(三)--远程仓库...

  • Git 教程(三)--远程仓库

    前言 Git 教程(一)--Git简介及操作流程Git 教程(二)--Git文件操作Git 教程(三)--远程仓库...

网友评论

本文标题:【入门git】开始team work 流程及之间遇到的问题

本文链接:https://www.haomeiwen.com/subject/voppsftx.html