git
ps:从个人实践角度,在命令行使用git,包含git拉取并开发的流程,后面也会慢慢加入我个人在使用git中遇到的问题。
这个流程是根据http方式拉取仓库和提交仓库,ssh方式需要配置git,如果需要的话会在后面更新。
前言:若是没有git仓库,可以新建一个仓库。
1.在home界面点击New创建新仓库
2.创建仓库界面
![在这里插入图片描述](https://img-blog.csdnimg.cn/c8b4064fecd148b790a8f0b4ede7db9a.png
(1).在 1 处填写自己的仓库名称,这里要英文,中文会变成 “-”
(2).在2处填写对这个仓库的描述,可以简要介绍这个仓库。
(3).在3处选择私有仓库还是公有仓库
(4).在4处选择是否添加一个readme文档,作用一般是说明文档
(5).点击创建仓库
创建成功
一.初始化
git init
找一个文件夹作为工作目录,在此处打开git bash,使用 git init 进行初始化
二.连接到远程仓库
git remote add origin URL地址
刚才创建的仓库中找到code点击,找到链接复制,这个就是我们要远程连接的链接。
如果是ssh需要设置私钥和公钥。
在命令行输入命令,连接仓库
如果是连接仓库,可以直接看三
二. 如果是新建的仓库没有develop分支,可以自己创建
1. 拉取远程的main分支到本地
使用
git pull remote origin main
拉取远程的main分支到本地
2.在master上,创建新的分支develop,并转到develop中
使用
git checkout -b develop master
这里
checkout 作用是切换到对应分支
-b develop master 是在master的基础上创建develop分支
3.推送develop分支
使用
git push
这样我们就创建好了一个develop分支
三.拉取远程分支develop
git pull origin 远程分支名
一般开发分支为develop,命令就为
git pull origin develop
这里就拉取远程的develop到了本地,使用
git checkout develop
进入到develop分支
四.创建本地分支feather-开发的功能名称
git checkout -b feather-addtion develop
这里通过上述命令创建本地分支,名称为“feather-功能”,如feather-addtion ,与跳转develop一样,跳转到本地分支feather-addtion,这是我们要实际写代码开发的分支。
1:运行命令,创建分支并转入
2:我们已经进入到feather-addtion分支
五.在本地分支中开发
1.提交暂存更改
git add .
将全部文件都提交暂存更改
或者指定某一个文件提交暂存更改
git add 文件名
- 这里我们创建一个文件
- 添加到暂存提交
ps:暂存的提交才能被提交
2.提交
git commit -m "提交本次版本的说明"
提交作为一个版本,过后可以回溯
六.功能开发完毕,回到develop分支
git checkout develop develop
七.拉取远程分支develop
git pull 远程主机名 远程分支名
PS:
git pull origin develop
获取远程最新的分支,防止在开发的过程中有其他人修改
如果不在对应分支上使用
git pull 远程主机名 远程分支名:本地分支名
八.合并刚才开发的功能分支
git merge feather-addtion
九.出现分歧,分支合并失败
会提示出现分歧的文件,进入冲突的文件,会显示
<<<<<<<< HEAD下面的代码是我们当前所处的分支master分支当中冲突的代码,这些代码的内容一直到========结束。
=========此处开始一直到最后>>>>>>> test_conf是我们合并进来的分支的代码。
git会把冲突的部分都保留,在文件里修改,除了我们要留下的,剩下的删除,修改完一个文件,提交这个文件
十.全部解决完成,提交
git commit develop -m "增加加法功能"
合并冲突后为新的版本,需要提交一次
十一.推送到远程服务器
git push
推送到远程分支
十二.发布版本和修改bug
流程几乎和开发功能一样,只是创建分支的名称修改为bugfix和release
十三.拉取的另一种方式
git fetch 远程主机名 远程分支名
这种方式拉取仅仅拉取远程代码,但是不会合并,需要手动合并,在当前目录调用git merge FETCH_HEAD将远程代码合并到本地。
git pull 相当于使用了git fetch 紧接着使用了git merge
十四.可能遇到的问题
fatal: refusing to merge unrelated histories
参考这篇文章解决 https://blog.csdn.net/wd2014610/article/details/80854807