一、Git安装
自己去官网下载,参考别人安装过程即可。
二、验证是否安装是否成功
-
查看git版本号信息
-
通过右键查看是否有两个选项
-
Gut Bash Here
1、Gir命令行,在Windows中模拟Linux操作命令行
2、和windows的cmd是由本质上差别的 -
Git GUI Here
1、Git提供图形化界面的工具,由于界面太过于简单,所以基本上没人使用。
2、通常使用的Git图形化界面工具有:
①IDEA中的插件
②Start Git
三、Git命令
3.1 全局信息
- 设置全局的用户名称
git config --global user.name "用户名称"
- 设置全局的账号邮箱
git config --global user.email "邮箱地址"
-
在公司中使用Git时,如果有用户名和邮箱,可以随时发给你邮件。
-
查看全局配置信息,全局信息,设置一次即可。
git config --list
3.2 创建本地仓库
git init
初始化创建本地仓库,选择一个文件夹进行操作,该文件中会发现一个.git的隐藏目录,这个.git的隐藏目录就是我们所说的本地仓库。
- 本地仓库中管理我们的项目代码,提交代码的时候,也是提交到本地仓库中。
3.3 Git的相关目录结构
-
工作目录
存放代码的文件夹 -
暂存区
①类似回收站,可以将要提交的代码先放这到暂存区中,然后提交的时候,会将暂存区中的代码提交到本地仓库中。
②不能够直接将工作目录中的文件提交到本地仓库的。
③中间必须经过暂存区
④暂存区中,可以向本地仓库提交代码,也可以将添加错误的文件还原工作目录中。
- 本地仓库
存放提交到远程仓库的代码,用于管理git的代码位置。 - 远程仓库
①在远程仓库中保管代码
②GitHub/Gitee/私服
3.4 文件的状态介绍
-
已跟踪的文件状态绿色
说明已经交给了git管理的文件
-
未跟踪的文件状态红色
说明没有交给git管理的文件
3.5 将文件添加到暂存区
git add
表示文件或者文件目录名称
git add .
表示文件过多,可以通过 "."代表当前所有的文件
3.6 查看文件状态
将绿色的文件状态变为红色的文件状态
git reset
3.7 将暂存区中的文件提交本地仓库中
git commit -m "本地提交的日志信息(必须填写,一定要写有意义的内容)"
3.8 本地操作流程
- 先创建文件
- 执行
add
命令,添加到暂存区中 - 执行
commit
命令,提交到本地仓库中
3.8 查看日志信息
查看当前日志
git log
查看当前日志,简写格式
git log --online
查看历史日志
git reflog
3.9 版本控制操作
切换版本控制
git reset --hard 版本唯一标识
3.10 文件异常比较
1、比较本地仓库和本地文件的比较
git diff 文件名称
2、对比不同版本的文件差异变化
git diff 版本唯一标识 文件名称
3.11 文件删除与找回操作
Linux命令
1、物理删除,delete键
2、物理删除,选择文件,按右键,选择删除操作
3、Linux命令,执行rm命令
rm -rf 文件名称
4、物理删除及Linux删除,删除后的文件状态是红色的
5、如果想要提交本地仓库,需要执行add
再执行commit
操作。
Git命令
1、Git命令删除
2、通过Git命令删除,文件状态是绿色
3、如果想要提交到本地仓库,可以直接执行commit操作
git rm 文件名称
3.12 文件找回
1、就是通过版本控制命令,回退到上一个版本中
git reset --hard 版本ID
四、分支命令
4.1 创建分支
1、分支名称没有写中文
2、创建出的分支的代码和当前分支的代码是一致的
3、在创建分支时,要确保本地的代码已经全部交给git所管理
git branch 分支名称
4.2 切换分支
git checkout 分支名称
4.3 删除分支
1、删除没有改变内容文件的分支
git branch -d 分支名称
2、删除已经改变内容文件的分支,强制删除
git branch -D 分支名称
警告:删除失败。
强制删除成功了。
4.4 合并分支
将目标分支合并到本地分支中,将代码合并过来
gitmerge 目标分支名称
4.5 代码冲突
- 原因
①由于操作两个合并进行时,修改了同一个文件中的代码,相近的部分,Git就不知道以哪一个份为主,此时就产生了代码的冲突。
②也有可能在操作远程分支代码时,没有先进行拉取操作,直接行推送操作,这也会发生冲突问题。
- 解决方案
①手动进行保留想要的代码,然后清除冲突的标记。
②手动提交到本地仓库中,解决了代码的冲突。
说明:进入文本编辑发现空的,这什么意思呢,打个比方说,A开发人员和B发开人员,他们没有进行交流的情况下,他们使用同一个文件修改内容,所以导致文件内容冲突了。
master和v3.0合并就会产生冲突。
解决方式:删除作为冲突标识的特殊符号。
五、远程命令
-
创建远程仓库账号
-
Github:
缺点:国外,卡顿
网站:https://github.com -
Giteet
优点:国内,稳定
网站:https://gitee.com -
关联远程仓库
添加远程仓库关联信息
git remote add 远程仓库名称 远程仓库地址
可以添加多个远程仓库,根据不同的名称和地址进行区分
名称和地址有点儿类似键值对的意思
- 查看远程仓库关联信息
git remote -v
可以查看到本地仓库所关联的远程仓库信息
- 删除关联的远程仓库信息
git remote remove 远程仓库名称
根据键值对的键,删除键值对
- 将本地仓库的代码推送到远程仓库中
git push 远程仓库名称 本地仓库名称
看图不解释
第一次推送的时候,需要输入用户名和密码
如果不想每次推送出现输入用户名和密码,请参考下https://zhuanlan.zhihu.com/p/358721423
- 拉取远程仓库的代码
拉取本地仓库没有的分支
git pull 远程仓库名称 远程分支名称:本地分支名称
拉取本地仓库已有的分支
git pull 远程仓库名称 本地分支名称
- 删除远程仓库的分支
git push -d 远程仓库名称 远程分支名称
删除的远程分支,不会删除本地仓库的这个分支
默认的远程仓库的分支是无法删除的
- 克隆远程仓库的代码到本地
克隆默认分支到本地中
克隆下来的文件名称是本地仓库的名称文件夹,会自动创建远程仓库的关联关系和本地仓库
git clone 远程仓库地址
克隆指定分支到本地中
克隆下来的文件名称是本地仓库的名称文件夹,会自动创建远程仓库的关联关系和本地仓库
git clone -b 远程分支名称 远程仓库地址
以上内容到这里了,后续。。。。