基本操作
远远不够
clone
准备:账号,密码,权限,url路径缺一不可
创建git仓库
clone仓库到本地
第一次要账号密码,且需要你有仓库的权限
pull
这会将远程的代码更新到本地
commit
push
实际操作(问答方式)
url
为什么一个仓库看到的所有分支的url都一样?那我到底拉的是哪一个分支的代码?
实际上你用这个url拉到的代码其实是默认分支(绝大部分是主分支的代码)
那我想拉其他分支的代码该怎么办?
-
1:这里可以查看当前本地分支和远程分支
-
2:右键你想要clone的远程分支
-
3:点击checkout即可
怎么上传代码到仓库
记住!再commit,最后push。这是最少最少的流程了。并且在2生产环境可以跑通
为什么要先commit再push?
因为push是把你本地仓库push到远程去,你不先commit到本地仓库那就没有东西push到远程啊。
我怎么上传代码到仓库的特定分支呢?
看到没,上面的 Local Beanches
就是你本地仓库的代码分支。 Remote Branches
就是远程的代码分支,本地分支和远程分支都是一一对应的。比如说,feature/relation3.0
对应远程的 origin/feature/realation3.0
。
上面那个箭头指的是一个粉笔样的图标,这说明你正在操作该分支,那么你push到的远程分支就是origin/feature/realation3.0
。
我不可以把本地feature/relation3.0分支代码push到远程master吗?
不可以!!!,如果你要push到远程master,那就对本地的master进行操作。一对一好吧。
啊?你问我为什么?没有为什么!!!就是这样规定的
本地分支怎么相互切换?
你右键master,点击checkout即可,但是,但是,在你切换之前请确保当前(feature3.0)已经commit了
git冲突
-
git只有在两个不同的人前后修改了同一文件的同一逻辑才会发生冲突
-
AB前后修改不同文件,AB前后修改同一文件的不同逻辑都不会发生冲突
-
A前后修改同一文件的同一逻辑也不会(都是同一个人没啥冲突)
而公司一般不会让两个人在同一业务的同一逻辑吧,但是发生了你该怎么办呢?
首先IDEA会提醒你冲突了,让你先update下来,这是update也会提醒冲突了,你之后就要手动决定哪些逻辑要的,哪些逻辑是不要的(你可以交流下,并且你都是修改这个逻辑的话你肯定是看得懂代码的),图我忘记截屏了,画下吧
界面如果你看到一下就懂的
获取历史提交中的某一个(完全覆盖本地)
2:右键选一个历史提交即可
update和commit和push
commit和push最好是一对一的,commit后就立刻push
update是有时间就看看,把最新的代码更新下来
commit的描述信息怎么写
文档:约定式提交
每次提交,Commit message 都包括三个部分:Header,Body 和 Footer。
Header
Header部分只有一行,包括三个字段:type
(必需)、scope
(可选)和subject
(必需)。
(1)type
type
用于说明 commit 的类别,只允许使用下面7个标识。
feat:新功能(feature)
fix:修补bug
docs:文档(documentation)
style: 格式(不影响代码运行的变动)
refactor:重构(即不是新增功能,也不是修改bug的代码变动)
test:增加测试
chore:构建过程或辅助工具的变动
如果type
为feat
和fix
,则该 commit 将肯定出现在 Change log 之中。其他情况(docs
、chore
、style
、refactor
、test
)由你决定,要不要放入 Change log,建议是不要。
(2)scope
scope
用于说明 commit 影响的范围,比如数据层、控制层、视图层等等,视项目不同而不同。
(3)subject
subject
是 commit 目的的简短描述,不超过50个字符。
Body
Body 部分是对本次 commit 的详细描述
我们写这两个足够了
例子
实际上
请你自己想一下,你什么时候翻过一年前的提交的 commit 信息?毕竟,你做的又不是开源项目,毕竟看变动记录应该直接翻代码版本,看提交信息作甚?说到底,大部分项目质量不高,在无人观察的角落,谁还会在意自己的举止是否得体。
好习惯慢慢练
##