Git命令

image.png

设置用户签名

基本语法

git config—global user.name 用户名
git config—global user.email 邮箱

实操

  1. Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
  2. $ git config --global user.name Layne
  3. Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
  4. $ git config --global user.email Layne@atguigu.com
  5. Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
  6. $ cat ~/.gitconfig
  7. [user]
  8. name = Layne
  9. email = Layne@atguigu.com

说明:
签名的作用是区分不同操作者身份。用户的签名信息在每一个版本的提交信息中能够看
到,以此确认本次提交是谁做的。Git 首次安装必须设置一下用户签名,否则无法提交代码。
※注意:这里设置用户签名和将来登录 GitHub(或其他代码托管中心)的账号没有任
何关系。

初始化本地库

基本语法

git init

案例实操

  1. Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720
  2. $ git init
  3. Initialized empty Git repository in D:/Git-Space/SH0720/.git/
  4. Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
  5. $ ll -a
  6. total 4
  7. drwxr-xr-x 1 Layne 197609 0 11 25 14:07 ./
  8. drwxr-xr-x 1 Layne 197609 0 11 25 14:07 ../
  9. drwxr-xr-x 1 Layne 197609 0 11 25 14:07 .git/ (.git 初始化的效
  10. 果,生成 git

结果查看

image.png

查看本地库状态

基本语法

git status

案例实操

首次查看(工作区内没有任何文件)

  1. Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
  2. $ git status
  3. On branch master
  4. No commits yet
  5. nothing to commit (create/copy files and use "git add" to track)

新增文件

  1. Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
  2. $ vim hello.txt
  3. hello git! hello atguigu!
  4. hello git! hello atguigu!
  5. hello git! hello atguigu!
  6. hello git! hello atguigu!
  7. hello git! hello atguigu!
  8. hello git! hello atguigu!
  9. hello git! hello atguigu!
  10. hello git! hello atguigu!
  11. hello git! hello atguigu!
  12. hello git! hello atguigu!
  13. hello git! hello atguigu!
  14. hello git! hello atguigu!
  15. hello git! hello atguigu!
  16. hello git! hello atguigu!
  17. hello git! hello atguigu!
  18. hello git! hello atguigu!

再次查看(检测到未追踪的文件)

  1. Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
  2. $ git status
  3. On branch master
  4. No commits yet
  5. Untracked files:
  6. (use "git add <file>..." to include in what will be committed)
  7. hello.txt
  8. nothing added to commit but untracked files present (use "git add"
  9. to track)

添加暂存区

将工作区的文件添加到暂存区

基本语法

git add 文件名

案例实操

image.png

提交本地库

基本语法

git commit -m “日志信息” 文件名

实操

image.png

image.png
image.png

历史版本

查看历史版本

基本语法

git reflog 查看版本信息
git log 查看版本详细信息

案例实操

image.png

版本穿梭

基本语法

git reset — hard版本号

案例实操

image.png
Git切换版本,底层其实是移动的HEAD指针

Git分支

image.png

什么是分支

在版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独
分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时
候,不会影响主线分支的运行。对于初学者而言,分支可以简单理解为副本,一个分支就是
一个单独的副本。(分支底层其实也是指针的引用)
image.png

分支的好处

同时并行推进多个功能开发,提高开发效率。
各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败
的分支删除重新开始即可。

分支的操作

image.png

查看分支

基本语法

git branch -v

案例

image.png

创建分支

基本语法

git branch 分支名

案例实操

image.png

修改分支

image.png
image.png

切换分支

基本语法

git checkout 分支名

案例实操

image.png
image.png

合并分支

基本语法

git merge 分支名

案例 在master分支上合并hot-fix分支

image.png

产生冲突

冲突产生后的表现:后面状态为MERGING
image.png
image.png
产生冲突的原因:
合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改。Git无法替我们决定使用哪一个。必须人为决定新代码内容。
查看状态(检测到文件有两处修改)
image.png

解决冲突

编辑有冲突的文件,删除特殊符合,决定要使用的内容
特殊符号:
<<<<<>>>> hot -fix
image.png

添加到暂存区

image.png

执行提交(注意:此时使用git commit 命令时 不能带文件名)

image.png

创建分支和切换分支图解

image.png
master、hot-fix 其实都是指向具体版本记录的指针。当前所在的分支,其实是由 HEAD
决定的。所以创建分支的本质就是多创建一个指针。
HEAD 如果指向 master,那么我们现在就在 master 分支上。
HEAD 如果执行 hotfix,那么我们现在就在 hotfix 分支上。
所以切换分支的本质就是移动 HEAD 指针。

Git团队协作

团队内协作

image.png

跨团队协作image.png

Github

远程仓库操作

image.png

创建远程仓库别名

基本语法

git remote -v查看当前所有远程地址别名
git remote add 别名 远程地址

案例

image.png
image.png

推送本地分支到远程仓库

基本语法

git push 别名 分支

案例

image.png
image.png

克隆远程仓库到本地

语法

git clone 远程地址

案例

image.png
这个地址为远程仓库地址,克隆结果:初始化本地仓库
image.png
image.png
小结:clone 会做如下操作。1、拉取代码。2、初始化本地仓库。3、创建别名

拉取远程库内容

语法

git pull 远程库地址别名 远程分支名

案例

image.png

idea集成git

Git码云

Git安装

image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png