IDEA关联Git
File > Settings 关联过程是自动的
创建仓库
新建项目后,将项目目录创建为git仓库
注意: 要在建仓库前,设置忽略文件 “.gitignore”(根目录下)
作用:被忽略的文件会被版本记录忽略,版本中不包含它们。
范围:不需要和其他开发共享的文件
.idea
*.iml
target
*.class
jdbc.properties
*.jar
*.war
写了一些代码后。。。
提交
上传到远程仓库(push)
GitHub中创建一个仓库
要求是裸库,且建议库名和项目名同名。
创建分支
写了一些代码后。。push dev分支
GitHub上项目复制到本地仓库
更新本地项目
如果远程仓库有更新,则你的本地项目也需要一起更新
冲突解决
合并分支时,如果出现冲突,则需要解决冲突。
多人协同开发
项目管理员( 项目经理 )
1> 由管理员负责创建一个远程库,初始的库中什么也没有,为裸库。库的名称建议和项目同名
2> 管理员会在idea中创建一个初始项目,其中包含.gitignore文件。 并在项目根目录下 建立本地库。并建立 dev
分支。
3> 管理员将本地库上传到远程库
4> 将其他开发人员拉入远程库的 开发成员列表中 ,使得其他开发人员可以访问该远程库
5> master分支设置为 protected分支,只有管理员有权限将代码合并到其中。dev分支设置为 常规分支所有开
发人员 都可以其中合并代码
开发人员
- 初始化:在idea中clone 远程库,获得项目。会建立本地库
后续的开发中,都要在dev分支上进行。开发完一个功能并测试通过后就commit 提交到本地的dev分支 中,然后
上传(push)到远程dev分支中。 需要更新项目内容时,通过 pull 从远程仓库拉取内容。 注意:多人协同时,每次在 push
到远程库前,都先做一次pull,一来是把远程最新内容合并到本地,二 来是核实本地内容是否和远程内容有冲突。
后续的开发,会接到一个个的功能任务,往复操作 2>、3>、4> 而已。
经典问题
在使用https协议做push时,如果曾经使用过码云,但密码有过改动,此时会报错
解决方案: 控制面板 》 凭据管理器 》 删除对应凭证,再次使用时会提示重新输入密码.删除之前的码云凭证,然后重新push即可
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。
另外,对于不同的分支,不必在不同的目录下操作,只需要切换分支即可。