(一)、基础说明
常常看到git命令后带一个origin,那么这个origin是什么意思呢?
其实:origin是远程版本库的一个名称,在clone默认的,即代指某个远端仓库
查看有哪些远端仓库,命令:git remote -v
显示:
origin https://git.boleme.net/ADX2.0/online-mario-api.git (fetch)
origin https://git.boleme.net/ADX2.0/online-mario-api.git (push)
就清楚origin表示某个具体的远程仓库
可以自己新增远程仓库
git push origin master和git push的区别?
(1)当只关联一个远程,只有一个分支时,这两个命令没什么区别。
(2)当你关联了两个多个仓库、有多个分支时,git push可能会报错,因为它不知道要上传代码到哪里去;
而git push origin master指定仓库和分支,就不会报错。
# 比如关联两个仓库: github 和码云
git remote add origin github-url
git remote add gitee gitee-url
# 分支有两个:master ,test-branch
如果你想偷懒使用git pull,那么你就要保证你的绑定的远程仓库只有一个,并且只有一个分支。
1、查看远程分支: $ git branch -a
2、查看本地分支:$ git branch
3、切换分支:$ git checkout branchName
4、删除本地分支:$ git branch -d branchName
注意事项:[目录上的*代表当前正处于的工作目录]
(二)、提交代码
git提交代码的五个步骤:
1、查看代码的修改状态 git status
2、查看代码的修改内容 git diff
3、暂存需要提交的代码 git add
4、提交已暂存的文件 git commit
5、同步到服务器 git push
(1)、查看代码的修改状态
输入 git status,红色或绿色部分字体是工程内的发生修改的状态标识:
modified:代表文件和上一版本相比,有过修改
new file:代表文件是新增加的
deleted:代表文件被删除了,提交成功后,文件将从reponsitory中删除
untracked file:一般都是新增加的文件夹
(2)、查看代码的修改内容
输入 git diff <filename>
(3)、暂存需要提交的代码
1增加一个需要上传的文件:输入 git add <filename>
2删除一个不需要的文件:输入 git rm <filename>
3增加全部需要上传的文件:git add --all
(4)、提交已暂存的文件
git commit
(5)、同步到服务器
git push -u origin master
(三)、分支合并步骤
(1)、进入要合并的分支(如开发分支合并到master,则进入master目录)
先git pull更新所有的分支;再git branch -a 查看所有分支是否都pull下来了
最后切换到 git checkout branchname
(2)、使用merge合并开发分支 git branch 分支名
(3)、查看合并之后的状态 git status
(4)、有冲突的话,通过idea解决冲突
(5)、解决冲突之后,将冲突文件提交暂存区 git add 冲突文件
(6)、提交merge之后的结果:git commit
(7)、本地仓库代码提交远程仓库:git push
(四)、解决合并中文件冲突
[1]解决文件内容冲突
(1)获取受到合并冲突影响的文件列表,git status
(2)打开文本编辑器,找到冲突的地方,将冲突符删除,保留其中一个或多个代码
(3)增加你的修改,git add
(4)提交代码,git commit -m '备注'
(5)以上命令成功完成后,再合并
[2]解决文件删除引起的冲突
(1)获取受到合并冲突影响的文件列表,git status
(2)决定是否要保留被移除的文件,下面的指令把被移除的文件重新加回仓库 git add filename
移除你仓库中的冲突文件:git rm filename
(3)提交代码 git commit -m "备注"
(4)再次合并
/********************************************************************************git分支的创建和合并***********************************************/
(1)、创建分支:【git branch -b branchname】这个命令是创建和切换分支结合在一起的命令
(2)、在分支上的某个文件的某行做改动,然后commit和push该文件到分支上
(3)、切换到master上【git checkout master】,对相同文件的相同行做出不一样改动,然后commit[或者再加一个push]该文件。
(4)、合并分支到master【git merge branchname】,就会提示文件有冲突,打开冲突的文件,删除冲突代码后,再次commit[或者再加一个push]。
(5)、这个时候,再来执行【git merge branchname】就会合并成功。
(6)、然后再提交至远端【git push origin master】即可
注意:由于merge合并动作是在暂存区,无论冲突文件是commit+push还是commit方式,合并时会将两个分支拉到暂存区来进行合并,所以就会发现这个文件有冲突符存在,所以不能合并成功,删除冲突符再次commit[或者再加一个push]后,再次merge即可合并成功
(四)、标签
有时,需要记录下某个发版时的版本,方便后面查看发布时的版本代码,这时就需要打一个标签
命令:git tag -a tagName -m "标签备注"
打完标签后,需要发布某个标签,命令为:git push origin tagName
或者
将本地所有标签全部提交,命令:git push origin --tags