【Java核心技术】git的使用

Git

版本控制工具,对文件或内容做版本控制

记录文件在不同的时间点的状态,追踪到文件在不同的时间点下的不同状态。

可以协作的、也可以公开、可以追踪历史网盘 → 协作开发

GitHub 996icu

Linus → Linux、Git、git的命令行里可以使用linux的一些命令

分布式版本控制工具(Git)、集中式版本控制工具(SVN)

离线可用

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Git的操作流程

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

pull:本地仓库落后于远程仓库,可以通过pull拉取远程仓库更(四声)新的这部分

push:本地仓库领先于远程,可以通过push推送给远程领先的这部分内容

工作区:是看得见摸得着的地方,开发的位置

add:将工作区的变化(指定文件)提交到暂存区

commit:将暂存区所有的变化都提交到本地仓库,产生版本信息

Git的安装

next → finish

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

使用Git

创建远程仓库

注册账号:记住用户名和密码

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

clone 获得本地仓库

git clone 仓库地址 → 克隆到当前位置

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

git clone 仓库地址 文件夹 → 克隆到指定文件夹

我们通常会使用一个这样的命令 git clone 仓库地址 **. ** → clone到当前文件夹

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

注意:

  • .git文件夹是一个隐藏文件夹,不要直接操作;
  • .git文件夹所处的目录就是工作区的根目录;也可以工作蓝色文字来区别
  • 工作区产生的变化都会被git识别

status 查看状态

git status

查看工作区和暂存区的状态,查看变化在工作区,还是已经提交到暂存区了

查看文字颜色:红色工作区绿色暂存区

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

add 工作区提交到暂存区

git add 文件名

git add *.java 提交某个类型的文件中产生的变化

git add src/* 提交某个目录下的文件中产生的变化

git add . 提交当前目录下所有的变化(谨慎操作),使用之前先git status

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

commit 提交到本地仓库

会产生版本信息,版本信息里包含本地的用户信息

第一次提交之前要先设置本地的用户信息

用户信息设置

直接修改配置文件

c:/Users/当前用户/.gitconfig (ini格式)

如果你没有这个文件可以新增一个,如果是windows,不允许创建没有名字的文件

如果window不允许创建,你可以打开git的bash → touch .gitconfig

[user]
	email = shitoushaoxia1993@gmail.com
	name = shitoushaoxia
	
[credential]   
    helper = store

使用命令修改 → 修改配置文件

git config --global user.name 值

git config --global user.email 值

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

git config --global credential.helper store 保存用户名密码的

执行提交

git commit -m “提交消息”

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

提交消息:建议小组统一 一个格式 (具体格式都可以)

注意:commit的时候已经产生了版本信息,4492a54是版本号,版本号是唯一,当前仓库使用前7位就够了

push 本地仓库推送远程仓库

领先于远程仓库

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

git push

第一次push的时候需要输入码云的用户名和密码,输入git push时会弹出对话框

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

pull 拉取变化

落后于远程仓库

git pull

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

协作开发

加入仓库

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

加入到仓库中就可以push了

如果你的仓库是私有的,也能够看到你这个仓库

处理冲突

先提交的不处理冲突

后提交的处理冲突

开发习惯:晚上走之前建议提交一下(提交的时候保证你的程序能够编译

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

log 查看本地仓库日志

git log

过程1

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

结合上面的流程图看

过程2

repo1先执行了push

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

过程3

repo2执行pull

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

发现产生冲突了

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

过程4

修改冲突,并且重新提交

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

过程5

repo2执行提交,提交最早想提交的部分和处理冲突的部分

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

过程6

repo1执行pull

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

没有冲突

Auto Merge

自动合并会让你提供合并信息(啥都不写都行) → 弹出vim编辑器

退出vim编辑器

  1. esc
  2. 冒号 wq
  3. 回车

忽略管理

你在工作产生了新的内容(变化 → 新增),git就会追踪这个变化

untracked files 还没有追踪

这个文件产生的变化我们不想给提交上去,我们可以做忽略管理

.gitignore → 要放在工作区的根目录

格式

文件名 单个文件

文件夹 某个文件夹下的文件

文件夹/

*.类型 某个类型的文件

注意事项:当前版本已经管理的文件,不能做忽略管理;只有去除掉才可以忽略管理(commit)

可以忽略自己(.gitignore),但是不建议大家忽略自己

newfile.txt 忽略单个文件
directory 忽略目录
runlist.txt
*.class 忽略了class文件

后悔药

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

checkout 工作区里内容的撤销

git checkout 文件名

撤销完之后,内容还能找回吗? 不能 → 谨慎操作

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

reset 暂存区撤回到工作区

git reset

刚刚在工作区中新增了“松哥牛皮”

提交到暂存区之后,又使用reset给撤回到工作区,“松哥牛皮”还在不在 → 在,变化仍然存在

reset --hard 本地仓库的版本回退

git reset --hard 版本号

版本号可以写前七位,也可以写完整的

注意回退的是本地仓库,指回退当前的本地仓库,对远程仓库和其他本地仓库没有影响

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

如果想要回到最新的状态

可以使用pull命令

分支branch

git branch -a 查看分支

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

括号里的蓝色文字:指的是当前分支名,也意味着你处于工作区中

创建分支

创建远程仓库的分支

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

创建本地仓库的分支

起点是当前分支

git checkout -b 分支名 创建分支并切换到这个分支上

git checkout 分支名 创建分支并切换到这个分支上;切换分支

建立本地仓库的分支和远程仓库分支之间的联系

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

设置分支之间的联系

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

执行一次完整的提交

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

分支的合并

比如我们现在要将dev分支上的变化提交到master分支上 → 在master上合并dev

切换到master分支上

分支合并 git merge dev

推送远程 git push

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

如果要将分支A里的合并到分支B里 → 在B上合并A

  • 11
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值