Git基本使用

1、简介

  • Git 是目前世界上被最广泛使用一款免费、开源的分布式版本控制系统
  • Git可以有效、高速的处理从很小到非常大的项目版本管理。
  • Git最初由 Linux 之父 Linus Trovalds(林纳斯·托瓦兹) 开发,用作Linux内核代码的管理。
  • Git 使用分散式架构,是分散式版本管理,相较于例如 CVS 或者 Subversion 等集中式版本管理软件,Git 并不是将代码的所有修改历史保存在中心服务器中的。

2、下载

下载地址:Git

下载后安装完则需要告诉git你是谁

1
2
git config --global user.name "名字"
git config --global user.email 邮箱

你也可以通过指令设置别名

1
git config --global alias.别名 指令

例:

1
git config --global alias.st status

如果要调用status,你则可以 git st

3、常用指令

touch 名字 创建一个文件

1、克隆

1
2
3
4
5
git clone 远程仓库http地址   	根据远程仓库http地址克隆
git clone 远程仓库SSH地址 根据远程仓库ssh地址克隆
git clone 本地仓库路径 根据本地仓库路径克隆
git clone 远程仓库地址 目录名 在本地仓库创建一个目录存放远程仓库克隆下来的文件
git clone -b 分支名 http地址 克隆指定分支地址

2、创建新仓库

1、将当前目录转换为git仓库

1
git init

2、在当前目录创建一个git仓库

1
git init 仓库名

执行git init 即可以创建成git仓库

3、添加与提交

1、添加至缓存区

1
2
git add 改动的文件   将一个改动文件添加到缓存区
git add * 将所有的改动文件添加到缓存区

2、添加到本地仓库

1
git commit -m '提交信息'   提交到本地仓库

添加到本地仓库则可以提交到远程服务器了

有些时候我们不行commit了想撤回commit则可以使用

1
git reset --soft HEAD^

3、添加到远程仓库

如果你是第一次将你的仓库连接远程服务器,则需要

1
git remote add 别名 远程服务器http地址

提交到远程仓库

1
2
git remote 连接远程仓库的别名 分支名
git push 上传

如果没添加分支名,则默认master

4、创建远程仓库连接

1
2
3
4
5
git remote   列出所有的远程连接
git remote -v 列出所有的远程连接并且显示url
git remote add <name> <url> 创建一个远程连接,name为自定义 url为远程连接的http的地址
git remote rm <name> 删除一个远程连接
git remote rename <old-name> <new-name> 重命名远程连接名

5、查看状态

可以通过git status 列出已缓存、未缓存、未追踪的文件

新添加文件

修改文件

例 git add bbb mit -am ‘改变信息’ 提交到本地仓库

6、查看日志

1、查看所有的完整日志,超过一屏幕则可以通过空格滚动,按q退出

1
git log

2、指定显示几个日志

1
git log -n 数量

3、将每个日志压缩成一行显示

1
git log --oneline

4、搜索某个人的所有提交记录

1
git log --grep='字符串或者正则表达式'

7、更新

更新应该是我们用的最多的标签,因为多人项目开发的时候,需要更新数据后才能提交

1
git pull

当有多个远程项目的时候,可以按下面这种格式来更新另外一边项目

1
git pull 远程项目名 分支 --allow-unrelated-histories

1
git pull gitees test --allow-unrelated-histories

4、忽略文件

如果你有一些东西不需要提交,那么你需要在目录下添加.gitignore这个文件需要用git创建,然后在里面填写的上传则会忽略

多人项目需要忽略的文件.project .classpath target .settings

5、分支(重点)

通常企业中开发,不会动master的,等于备份一份,防止代码损坏

通常创建分支开发,开发完成,测试完成后才会跟master合并

分支常用标签

创建分支:git branch 分支名

你在那个分支创建的则拥有那个分支的所有文件

查看所有分支,绿色的代表当前分支:git branch

切换分支:git checkout 分支名

切换分支以后,新添加文件修改,然后提交,则master中的文件不存在

合并分支:git merge 分支名

6、冲突问题

如果团队开发中俩个人一起提交,则会出现冲突问题

冲突

这个时候你则需要将代码更新下来

冲突2

更新下来后,则会俩个版本进行冲突,你则需要跟上一个上传的人共同解决后

直接git push上传即可

7、版本回退

1、git revert

这个指令,用于版本回退,会保留回退前的版本,避免丢失历史

1
git revert 版本号

2、git reset

这个指令在开发过程中,可能永远的用不上,因为这个太过于危险,一旦回退成功后,则不会保存任何记录,

1
gitreset 版本号

8、Eclipse使用git

eclipse给我们自带了git,所以我们只需要打开即可

1、找到git

打开方式1

ctrl+3 搜索git

打开方式2

Snipaste_2021-05-21_16-20-02

2、打开git

搜索git ,然后选择git Repositories(Git)

Snipaste_2021-05-21_16-20-02

3、出现的git模板

Snipaste_2021-05-21_16-26-10

4、将现有项目导入远程仓库

右击项目,选择Team 点击share project

将现有项目导入远程仓库1

然后选择git

将现有项目导入远程仓库2

然后选择将单选框全部选中,如果stud不能选中,则单击创建为git仓库即可,然后下一步结束

将现有项目导入远程仓库3

然后进入该文件夹创建.gitignore文件,忽略这些文件上传,因为每个项目创建的都不一样

拦截.class则是因为,运行java代码则会自动生成,则没必要浪费空间

将现有项目导入远程仓库4

然后在git下既可以看到

如果未拦截成功,则F5刷新一下

然后提交到本地仓库

Snipaste_2021-05-21_16-55-03

5、右击要导入的项目,选择

Snipaste_2021-05-21_16-59-01

6、然后粘贴远程仓库地址,输入账号密码,勾选Store in Secure Store,然后下一步

7、提交至那个分支

Snipaste_2021-05-21_21-54-09

点击后

Snipaste_2021-05-21_21-57-51

不推荐强制提交,会影响工作,下一步可以直接结束

下一步是

Snipaste_2021-05-21_22-02-11

然后则上传至远程仓库了

5、克隆一个项目

Snipaste_2021-05-21_22-14-11

然后输入需要克隆的远程仓库地址,输入用户名密码,下一步

Snipaste_2021-05-21_22-15-33

选择需要克隆的分支,然后下一步

Snipaste_2021-05-21_22-18-25

将本地的那个地址

Snipaste_2021-05-21_22-20-03

然后则克隆成功

Snipaste_2021-05-21_22-20-33

然后将项目导入至eclipse

Snipaste_2021-05-21_22-21-29

搜索maven,选择第二个,然后下一步

Snipaste_2021-05-21_22-22-04

选择需要导入的本地仓库中的项目

Snipaste_2021-05-21_22-23-25

然后刷新则导入成功

6、使用eclipse提交

你可以右击你刚刚修改的文件提交,也可以右键项目提交所有修改文件

Snipaste_2021-05-22_08-41-18

然后则提交成功

7、更新数据

Snipaste_2021-05-22_08-46-52

然后下一步

Snipaste_2021-05-22_09-10-36

然后更新成功

9、idea使用git

1、将目录初始化为git目录

选中需要初始化的项目确定

1

2、git一级目录解析

一级目录解析

  • 提交至本地仓库

    5

3、三级菜单解析

二级目录解析

  • 关于克隆
    • 可以自定义到那个文件夹,但是必须要项目名为文件夹名

3

4、注意

1、需要先更新在提交否则可能会引发这个问题

引发问题

暂时对idea的git理解,有新的理解会更新

10、VsCode使用git

后续更新,暂时使用不熟练