IDEA关联Git

File > Settings 关联过程是自动的

创建仓库

新建项目后,将项目目录创建为git仓库
注意: 要在建仓库前,设置忽略文件 “.gitignore”(根目录下)
作用:被忽略的文件会被版本记录忽略,版本中不包含它们。
范围:不需要和其他开发共享的文件

.idea
*.iml
target
*.class
jdbc.properties
*.jar
*.war

写了一些代码后。。。

idea关联springboot idea关联多个git_远程仓库

提交

idea关联springboot idea关联多个git_idea关联springboot_02


idea关联springboot idea关联多个git_idea关联springboot_03

上传到远程仓库(push)

GitHub中创建一个仓库

要求是裸库,且建议库名和项目名同名。

idea关联springboot idea关联多个git_远程仓库_04

创建分支

idea关联springboot idea关联多个git_远程仓库_05


写了一些代码后。。push dev分支

idea关联springboot idea关联多个git_git_06


idea关联springboot idea关联多个git_远程仓库_07

GitHub上项目复制到本地仓库

idea关联springboot idea关联多个git_idea关联springboot_08


idea关联springboot idea关联多个git_git_09

更新本地项目

如果远程仓库有更新,则你的本地项目也需要一起更新

idea关联springboot idea关联多个git_远程仓库_10


idea关联springboot idea关联多个git_idea关联springboot_11

冲突解决

合并分支时,如果出现冲突,则需要解决冲突。

idea关联springboot idea关联多个git_远程库_12

多人协同开发

项目管理员( 项目经理 )

1> 由管理员负责创建一个远程库,初始的库中什么也没有,为裸库。库的名称建议和项目同名

2> 管理员会在idea中创建一个初始项目,其中包含.gitignore文件。 并在项目根目录下 建立本地库。并建立 dev
分支。

3> 管理员将本地库上传到远程库

4> 将其他开发人员拉入远程库的 开发成员列表中 ,使得其他开发人员可以访问该远程库

5> master分支设置为 protected分支,只有管理员有权限将代码合并到其中。dev分支设置为 常规分支所有开

发人员 都可以其中合并代码

idea关联springboot idea关联多个git_idea关联springboot_13


idea关联springboot idea关联多个git_git_14


idea关联springboot idea关联多个git_idea关联springboot_15

开发人员

  • 初始化:在idea中clone 远程库,获得项目。会建立本地库
    后续的开发中,都要在dev分支上进行。开发完一个功能并测试通过后就commit 提交到本地的dev分支 中,然后
    上传(push)到远程dev分支中。 需要更新项目内容时,通过 pull 从远程仓库拉取内容。 注意:多人协同时,每次在 push
    到远程库前,都先做一次pull,一来是把远程最新内容合并到本地,二 来是核实本地内容是否和远程内容有冲突。
    后续的开发,会接到一个个的功能任务,往复操作 2>、3>、4> 而已。

经典问题

在使用https协议做push时,如果曾经使用过码云,但密码有过改动,此时会报错

idea关联springboot idea关联多个git_idea关联springboot_16


解决方案: 控制面板 》 凭据管理器 》 删除对应凭证,再次使用时会提示重新输入密码.删除之前的码云凭证,然后重新push即可

idea关联springboot idea关联多个git_远程仓库_17

GitLab上传项目到新的分支

多人协同开发,GitLab上的group仓库里的master分支作为开发分支(最终从dev提交的代码),dev分支作为每个人的代码测试后合并的分支,每个人需要定期merge request自己的分支到dev去;另外每个人建有自己的分支

首先需要把整个仓库clone到本地

git clone "SSH地址"

然后cd进入仓库,查看所有分支

git branch -a #查看所有分支

然后创建自己的分支(也可以在网页上创建)

git branch "Your branch" #创建分支

从master切换到自己的分支

git checkout "Your branch"  #切换分支

在push项目前,需要把远程仓库pull到本地,避免远程和本地发生冲突:

git pull origin "Your branch"

然后对自己的项目进行修改,接着add,commit,push到远程仓库

git add "xxx"
git commit -m "xxx"
git push origin "Your branch"

如果要上传文件夹,则是git add .

注意:本地分支和远程分支是两个相同的东西,一个改变了,另一个必然也要改变,假如在远程上删除了项目,pull到本地后,本地的项目也会被删除,所以可以在本地建一个.gitignore文件,然后push上去

touch .gitignore
git add .gitignore
git commit -m "xxxx"
git push origin "Your branch"

.gitignore里写一些需要被Git忽略的文件,如*.json;*.pyc;log/*等,这些文件一般不能被push,但可以强制push。

另外,对于不同的分支,不必在不同的目录下操作,只需要切换分支即可。