git使用

使用gitbash命令行操作

设定账户邮箱和签名

在这里插入图片描述
在这里插入图片描述
邮箱和签名和github没有任何关系,生成后会在C盘用户目录下形成一个git
config文件;签名的作用是区分不同的操作者;

初始化本地库

注意git对目录的操作是和linux一样的;
随便建一个文件目录,使用gitbash here
在这里插入图片描述
git init 初始化形成一个-git文件,一般是隐藏的,需要设置文件隐藏文件可见
在这里插入图片描述
git status
在这里插入图片描述
vim写一个文件后,再查看状态:
在这里插入图片描述
untracted file 未被追踪的文件,使用git add取追踪,添加到暂存区;

添加到暂存区

git add +文件名
在这里插入图片描述
git status
在这里插入图片描述
红色变成绿色 已被追踪
可以提示使用git rm --cached删除.
在这里插入图片描述
只是删除了缓存区的文件,工作区不影响,所以又回到最开始的状态了;
在这里插入图片描述

提交本地库

使用:git commit -m “备注信息” 文件名
在这里插入图片描述
查看版本信息: git reflog
在这里插入图片描述
查看完整日志:gitlog
在这里插入图片描述

修改文件

提示修改了
在这里插入图片描述
继续向上面一样添加缓存区以及提交文件
在这里插入图片描述
提示一个文件被修改:一个新增,一个删除,就相当于更新;
再重复以上操作,观察reflog
在这里插入图片描述
不论是新增文件还是修改文件,变化后都能再相应文件夹查到最新信息;
在工作区创建一个god文件
#那所谓的工作区、缓存区、提交区对应哪些文件夹呢?
在这里插入图片描述

版本穿梭

git reset --hard 版本
在这里插入图片描述
多次穿梭
在这里插入图片描述
hello.txt文件也不断发生变化,此时再添加god.txt看看有什么变化?
在这里插入图片描述
commit:forth 是什么意思,直接形成了一个新的版本?

再切换到第一个版本,god.txt直接没了;
在这里插入图片描述

分支操作

在这里插入图片描述
引入分支的好处:
主线可用,
分支随时可删;

问题在于合并,多条分支如果修改了同一个地方,该咋办
在这里插入图片描述

查看分支

git branch -v
在这里插入图片描述

创建分支

git branch ( 分支名)
在这里插入图片描述
查看分支多出一条分支,并且是再master版本的基础上;

合并分支

随便修改一下,合并到主分支;注意合并到哪个分支下就切换到哪个份报纸下使用:
git merge +要合并的分支名
在这里插入图片描述
合并后,分支依然是存在的,并且只影响使用merge命令的那条分支
在这里插入图片描述

合并冲突

增量不冲突

修改同一个地方会冲突

什么时候会合并冲突
最简单的情形一个分支中某值为1,再同样的地方改为2,这就会冲突,系统不知道如何处理,此时就需要手动打开文件处理;

案例:
会显示master |MERGING
冲突后会显示冲突的地方,然后删除掉指示符号,进行修改并提交;
在这里插入图片描述打开hello.txt进行修改,
在这里插入图片描述
直接删除这些等号和小于符号,根据自己的需求进行修改,修改后添加缓存和提交:
在这里插入图片描述
此时提示,fatal: cannot do a partial commit during a merge.
就是不要使用文件名了,直接去掉文件名进行提交:
在这里插入图片描述
至此,合并成功;

总结

master,hot-fix这两个分支是指向具体版本记录的指针,而head指针是指向master、hot-fix的指针,head指向谁就代表在哪个分支;
在这里插入图片描述
比如以上的log显示head目前指向hot-fix的指针,而hot-fix指向2d5c…这个版本

git团队协作机制

在这里插入图片描述
令狐冲clone到本地库后,再push,有可能各个分支都被修改了,甚至增删了,那么push上去会再次合并,这种合并不单单是两个分支之间的合并,可能是整体的合并吧???

跨团队的协作

在这里插入图片描述

创建远程库

创建github账号
创建仓库
在这里插入图片描述
在这里插入图片描述
别名指的是仓库地址别名,自定义的;
3再gitbash命令中输入:
在这里插入图片描述
准备推送,注意每次只能推送一条分支!
在这里插入图片描述
在这里插入图片描述
弹出密码框输入密码:
选择账号密码浏览器登录;
使用token登录

上传成功后,可以修改文件,
在这里插入图片描述
在hub上在线修改master
在这里插入图片描述
再拉取到本地,如果不同会自动添加缓存并提交,同步到本地库;
git pull 别名 分支
在这里插入图片描述
看看结果:
在这里插入图片描述

git clone 别名(或则地址)
注意克隆是不需要github账户密码的;
并且克隆会帮你做三件事:1.拉取代码
2.初始化本地库
3.创建别名(默认origin)
在这里插入图片描述

生成SSH

什么是SSH?SSH和Http有什么区别?

cmd进入windows
在这里插入图片描述
git的方式

$ ssh-keygen -t rsa -C 2810325944@qq.com
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/28103/.ssh/id_rsa):
Created directory '/c/Users/28103/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/28103/.ssh/id_rsa
Your public key has been saved in /c/Users/28103/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:16bzfE5zqd6jEpDjnjt/bIKypDbHTfKZUEPT+pjwLuI 2810325944@qq.com
The key's randomart image is:
+---[RSA 3072]----+
|          .      |
|         o .     |
|        . +      |
|       . B .     |
|        S O o    |
|       o B =    .|
|      ..O B o o..|
|     +o= @ * =++ |
|    oE+.+.+.O*o..|
+----[SHA256]-----+

注意生成后可能看不见公钥,可能是因为没有显示扩展名或或者隐藏的项目
在这里插入图片描述

$ cat id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDL1ZwO53c0arrx0Z64bKddjMQ2vgDnlmKHo1WuQEz+W5uvOphiwZAf7w3X9MNN7WhcQT5Si1WvdeXD5W1uHEnrbbRdyLsKiiVNEl4kDmIJmVuh61X59Py4ULVLf9kMS6g0r5Zjya772TVsFceLPaddBCIzda4tlmLIR9vWxUHCh/JPJ0a0O//OJjF6G2+k9xZDSYiQObUiVcREwu1WVIv7NZSWJWz2zmOswiNRvJGbzOVmuBNYqJ8M6KLt/OwAAmlUs74yoIzOKfTVWycK3+HAvwt7M2TCikHtGK3mHFVH2bK88/l2Obg7di4KsaWhvn5n4ECk279k1/TNcp/0J3la73JdVj+IZceIFjFi97AQG3HdwtWL588WgtQEH+YGc+WcKHgmXTs6fFGH3p60cUzzwSgVx2ys32ehzHTxLpE2YN2W7Ubg1HZhL67IIBpF7SQzZTovnFu3gMfOHeR9Z+Vjm751S+uAzi3k/BjSeTO2HTB5EVOWP+F+UMyqlLoKa5E= 2810325944@qq.com

在githuab上进行设置
在这里插入图片描述

idea 集成git

忽略文件

在这里插入图片描述

为什么要忽略?
与项目功能无关,不参与项目运行,同时屏蔽开发工具差异,只需要src和pom
怎么做?
创建xx.ignore忽略规则文件,放在windows的home目录下

再在gitconfig文件中引用此文件:
在这里插入图片描述
反斜线替换成斜线
在这里插入图片描述
配置安装目录
在这里插入图片描述
在这里插入图片描述

VCS(verison control settinig)

创建本地库
VCS create选定模块,如果要取消,重新file setting
在这里插入图片描述
pom变红,使用git添加
在这里插入图片描述
此时还没有提交到本地库
在这里插入图片描述

github登录

最好用口令登录,账号很难登录
在这里插入图片描述
上hub设定
在这里插入图片描述
在这里插入图片描述

上传GitHup

分支要一个个传上去,不能所有一起传,假设传上去后,本地某分支又分出好几分支咋办?如何上传
在这里插入图片描述

push注意事项

push时要先拉取pull,

pull

clone

使用idea从远程仓库克隆下来时,模块标记消失:

可以看到,本地仓库 .git已经存在:
在这里插入图片描述

重新导入子模块
在这里插入图片描述
在这里插入图片描述
为啥是这个样子呢???
在这里插入图片描述
尝试使用git命令行的方式进行clone:
加载项目。。。。如下
在这里插入图片描述
在测试文件下导入子模块:
在这里插入图片描述
正常!!!!!!!

再来测试,新建一个项目,将idea 克隆的项目导入看是否正常?
不行,导入了也不显示!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值