【无标题】

版权声明:你想转就转,知识是用来分享的 https://blog.csdn.net/csdn_blog_lcl/article/details/86261799

转者注:刚进公司时我根本理解不了这篇文章,随着我git的使用越来越娴熟,回想起这篇文章真的很棒,于是我又重新精读了一遍这篇文章,然后就会从我的收藏夹删掉它,因为这部分知识我已经get到了,将它转发是希望能帮助到更多人正确使用git,同时也可以用来帮助我自己回味。

一、前言
实习的时候,组内的大佬让我们去下载公司的代码去看,并且要求使用非master分支(如next分支)进行开发,当时我和另外两个应届的同学都去尝试拉分支,结果发现拉下来的都不next分支,而是master分支,后来通过查找资后知道一种好的直接拉取指定分支的办法,在这里,我想记录下一些重要的地方,不会叙述太多git的知识点。

二、准备工作
1、下载git(windos)工具,配置好邮箱和用户名,并生成你自己的公钥。(密钥生成可见:https://blog.csdn.net/csdn_blog_lcl/article/details/53172885)
2、我们在自己的工作目录新建一个文件夹project,用来存放我们的项目。

三、git克隆分支的方式介绍
当你进入到公司的git类网站上,会发现一般提供了两种克隆分支的方式:
1、SSH方式,可以免密登录,git拉取代码和提交分支都可以免密,但是要去git网站上配置SSH Key,添加自己生产的公钥。
2、HTTPS方式:可以不用去git网站上配置SSH Key,但是克隆、提交和拉取分支代码都需要输入用户名和密码,比较麻烦(新手推荐用这个)。

四、如何克隆指定分支?
以next分支为例,git地址为HTTPS方式为例,方便讲解。
1、打开之前建好的project文件夹,右键选择Git Bash Here,弹出git窗口
2、初始化本地仓库:git init
3、关联远程仓库:git remote add origin “HTTPS地址”

我红色划掉的部分就是HTTPS地址啦,复制下来。
4、拉取指定next分支:git clone -b next “git地址”
上面命令中的-b(branch)就是克隆的时候指定分支。
如果此时你是在git网站上添加了密钥,并且git地址是SSH方式的地址,那么可以直接克隆下来。如果你用的是HTTPS方式,你就需要输入用户名密码进行克隆。

五、如何优雅的在分支上开发?
刚克隆下来的next分支在本地也叫next,通常我们不建议直接在这个分支上开发,而是新建一个分支。
1、git checkout -b next-dev (创建并切换到next-dev分支上)
2、我们可以在next-dev上愉快的写我们的代码,写完后可把代码提交到本地仓库:
(1)、git add . (".“的意思就是保存添加所有修改到暂存区)
(2)、git commit -m “注释” (将暂存区中的修改提交到本地仓库)
3、开发完成后我们可将next-dev分支合并到本地next分支上:
(1)切换到本地next分支:git checkout next (切换分之前,需要先在next-dev上commit更改到本地仓库)
(2)本地next分支更新:git pull origin next (当你合并分支的时候,可能其他同事又提交了新的内容)
(3)在本地next分支上去合并next-dev分支:git merge next-dev。(若分支合并出现冲突,这里推荐使用idea集成git工具在idea中去合并冲突,因为比较方便的就能查看到冲突代码块)
4、提交本地next到远程next: git pull origin next:next (”:“前面的是本地分支的名字,”:"后面的是远程分支的名字)

六、为什么不直接在本地next分支上开发,而另创一个next-dev分支呢?
当你直接在本地next分支上开发时,考虑这样的一个场景:测试或者产品火急火燎的告诉你线上出了一个小bug你需要马上修改掉,这个bug很快就能解决,但是你的本地next分支还处于开发状态(甚至是编译都不能通过的状态,你需要注释你的修改或者再去重新拉一个next分支修改bug(这多慢呀!))。但是当你只是在next-dev分支上开发时,你只需提交当前修改并切换到本地next分支上去修改就行了,修改完后切换next-dev继续开发即可。

七、常用命令
初始化本地仓库:git init
本地仓库关联远程仓库:git remote add origin “git 地址”
查看已关联的仓库:git remote -v
切换关联仓库(如想要从HTTPS方式的关联仓库切换到SSH方式关联的仓库):
(1)、取消关联:git remote remove origin
(2)、重新关联:git remote add origin “git SSH方式的地址”
查看所有的分支:git branch -a
更新分支列表(当你不能查看到完整的分支列表时):git fetch
切换分支:git checkout 分支名
创建分支:git branch 分支名
强制删除分支(可删除当前分支):git branch-D 分支名
非强制删除分支(不可删除当前分支):git branch -d 分支名
创建并切换到新分支:git checkout -b 分支名
克隆远程仓库的项目代码:git clone “远程仓库地址”
克隆远程仓库指定分支的代码:git clone “远程仓库地址”
拉取远程分支:git pull 远程分支
提交变更到本地仓库:git commit -m “修改信息注释”:
将你的分支推到远程仓库:git push origin “本地分支名”:远程分支名
撤销本地commit:
(1)、git log 查看commit_id
(2)、git reset --hard commit_id
查看当前仓库的状态(你修改了哪些,哪些保存到了本地仓库,哪些没有):git status
查看提交历史:git log

八、注意事项
1、提交前先git pull是一个好习惯,更新别人提交的代码,避免冲突。
2、为防止我们的误操作,如不小心按到键盘在配置文件中多加了一个字母。我们可以使用idea中的git compare去查看本地分支与远程分支中的差异,确定都是我们自己的正确修改后再提交。
3、分支切换前需要先commit保存修改到本地仓库,不然切换不会成功,强行切换会导致当前分支被覆盖。
4、在git里面总是有后悔药吃的,所以大胆搞,出错了大不了回滚。
————————————————
版权声明:本文为CSDN博主「muser_」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/muser_/article/details/97280708

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值