git逻辑结构图
Web | Git | Git-IDEA
新项目开发流程图:
Web | Git | Git-IDEA

从远程仓库到本地不需要账户登录,从本地到远程需要账户登录

一、Push新建的项目框架

在本地开发完成项目框架后,提交到远程仓库(还未创建)

Step1:IDEA集成Git操作工具

一般默认已经集成了,也有额外下载插件方便操作的,看个人习惯。虽然集成了Git操作工具但并没有集成Git,因此在你本地安装Git后,进行如下操作,当然你进行了Git环境变量的配置这一步可以免了。
Web | Git | Git-IDEA

Step2:初始化本地仓库

即将你的项目目录初始化为本地仓库。创建后会发现目录文件夹中有版本库文件夹.git,了解Git的应该比较清楚这个过程。项目文件都在工作区,未跟踪,还未放入本地仓库,文件显示红色。

Web | Git | Git-IDEA

Step3:将工作区文件放入暂存区

git add,在Idea界面操作则是下面步骤,你可以单独add某个文件也可以add整个项目的,add后的文件是绿色。

Web | Git | Git-IDEA

Step4:将暂存区的文件提交至本地仓库

git commit,这个时候本地仓库才真正记录此文件的修改。可以在Idea界面操作下面步骤,这几个操作都可以。提交成功后变成黑色。

Web | Git | Git-IDEA
Web | Git | Git-IDEA


Step5 : 本地仓库就绪,创建远程仓库。

远程仓库名不一定要和本地项目名/模块名/文件夹名一致,但建议一致。根据你是在GitLab、GitHub、Gitee上创建一个即可。


Step6 : push本地库到远程仓库

先设置远程仓库管理者的用户名和密码

6.1 设置远程仓库地址
右键项目或菜单栏VCS,name随意,你能记住就行。

Web | Git | Git-IDEA
6.2 设置仓库的管理者团队成员的账户,供push时登录远程仓库。

方式1:默认github账户,设置之后,所有的github平台的仓库都会默认用这个账户登录远程仓库。

Web | Git | Git-IDEA

方式2:直接在push的时候,输入用户名和密码。
选择记住则以后都默认以这个账号登录,否则每次都需要输入
注意有时候没有输入也可以push可能是因为之前你输入过,IDEA记住了你的平台的用户名和密码。

Web | Git | Git-IDEA

Web | Git | Git-IDEA


二、Clone远程仓库到本地仓库

假设你git已经配置完成了

Clone是不需要登录的,Clone就是将远程仓库在本地备份一遍(本地仓库),会新建一个项目。与前面初始化本地仓库不同,文件不在工作区,已经在本地仓库。
Web | Git | Git-IDEA


三、更新代码 push

修改 --》add --》commit --》push即可
注意:开发人员进行push时,到远程库前提需要项目经理进行邀请,方可push成功,即你要登录你被邀请的账号。

下图为仓库创建者邀请开发人员过程,被邀请的开发人员登录后,通过访问邀请链接,点击同意即可。

Web | Git | Git-IDEA


四、拉取更新的代码:pull

开发人员操作是一样的
除了下面这个还可以执行Update
Web | Git | Git-IDEA

Web | Git | Git-IDEA


五、代码冲突

冲突应该避免,即分工明确。但发生冲突了要会解决,一般时Merge时两个人进行协商解决。
注意的是千万不要把本地没有跑通的代码push上去了,否则会导致其他人的程序也没法跑通。

5.1 产生原因

当团队协同工作的时候,多位团队成员同时操作一个文件。团队成员A操作完成后,将该文件提交到SVN上。此时,其他团队成员的本地文件与SVN上的文件版本不一致。当团队成员B操作完成并对文件进行提交操作时,就会产生冲突。
Web | Git | Git-IDEA

5.2 解决办法

一般在push之前先pull,使本地的代码与远程的一致,这个时候如果有冲突需要merge,则和其它开发人员一起商量解决。
不建议在push事merge,所以先pull确定无冲突之后再push。

5.3 遵守规范,避免冲突

  1. 在编写代码之前先更新本地的代码和远程保持一致,即pull;
  2. 分工要明确,界限要划开,不要擅自修改别人负责的部分;

相关文章: