Git学习

文章目录

    • Git概念:
      • (1)查看版本信息
      • (2)清屏clear
      • (3)设置签名
    • git常用命令
      • add和commit命令
      • status命令
      • log命令
      • reset命令
      • 删除命令
      • diff命令
    • 分支:
      • (1)查看分支:`git branch -v`
      • (2)创建分支:`git branch branch01`
      • (3)切换分支:`git checkout branch01`
      • (4)改变分支内容不影响主分支
      • (5)将banch01分支合并到主分支:
      • 在本地创建远程库地址别名
      • 推送分支
      • 远程库地址的复制
      • 远程库修改的拉取操作
        • 方式1:
        • 方式2:
    • SSH免密登陆:

Git概念:

Git是分布式版本控制系统,可以快速高效的处理从小型到大型的项目

Git命令:

(1)查看版本信息

Git学习_第1张图片

(2)清屏clear

在这里插入图片描述

(3)设置签名

设置用户名和邮箱
Git学习_第2张图片

(4)本地仓库的初始化操作
Git学习_第3张图片

git常用命令

add和commit命令

首先创建一个文件
在这里插入图片描述

(2)将文件提交到缓存区
在这里插入图片描述

(3)将缓存器的内容提交到本地库
Git学习_第4张图片

注:

(1)不放到本地仓库中的文件,git是管理不到的。

(2)即使放在本地仓库中,git也不进行管理,必须通过add,commit命令才可以将文件提交到本地仓库。

status命令

Git学习_第5张图片
Git学习_第6张图片

修改文件后,需要重新上传
Git学习_第7张图片

log命令

Git学习_第8张图片

当历史记录过多的时候,查看日志的时候,有分页的效果,分屏效果,一页展示不下。

  • 下一页:空格
  • 上一页:b
  • 到页尾显示END
  • 退出:q

日志显示方式:

方式1:git log 分页

方式2:git log – pretty=oneline
在这里插入图片描述

方式3:git log --oneline
Git学习_第9张图片

方式4:git reflog

多了信息:HEAD@{num}:num含义:指针回到当前历史版本需要走多少步
Git学习_第10张图片

reset命令

前进或者后退到历史版本
Git学习_第11张图片

(1)hard参数:本地库移动的同时,重置暂存区,重置工作区。

(2)mixed参数:本地库移动的同时,重置暂存区,工作区不动。

(3)soft参数:本地库移动的同时,暂存区不动,工作区不动。

删除命令

(1)删除工作区中的Test.txt

Git学习_第12张图片

(2)将删除操作同步到暂存区

(3)将删除操作同步到本地库
Git学习_第13张图片

找回本地库删除的文件
在这里插入图片描述

恢复暂存区数据
Git学习_第14张图片

diff命令

创建一个新文件,将文件添加到本地库中;然后更改文件内容

导致:工作区和暂存区不一致:

Git是按照行为单位管理数据的:删除一行,添加一行
Git学习_第15张图片

git diff:比较工作区中和暂存区中,所有文件的对比。
Git学习_第16张图片

git diff {历史版本}文件名
Git学习_第17张图片

分支:

在版本控制过程中,使用多条线程同时推进多个任务。
Git学习_第18张图片

同时多个分支并行开发,互相不影响,提高开发效率

(1)查看分支:git branch -v

(2)创建分支:git branch branch01

Git学习_第19张图片

(3)切换分支:git checkout branch01

Git学习_第20张图片

(4)改变分支内容不影响主分支

Git学习_第21张图片

(5)将banch01分支合并到主分支:

Git学习_第22张图片

冲突解决(公司内部商议,或人为决定)

Git学习_第23张图片

在本地创建远程库地址别名

Git学习_第24张图片

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3QG7IAQZ-1619699364667)(E:\Typora\image\image-20210429114710404.png)]

推送分支

Git学习_第25张图片
在这里插入图片描述

远程库地址的复制

克隆:
Git学习_第26张图片

克隆操作可以帮我们完成的操作:

(1)初始化本地库

(2)将远程库的内容完整的克隆在本地库

(3)替我们创建远程库别名

Git学习_第27张图片

另外一个人需要提交文件

push内容到远程库中:
Git学习_第28张图片

邀请普通成员加入团队

Git学习_第29张图片

远程库修改的拉取操作

pull:相当于fetch+merge

方式1:

  • (1)fetch:抓取操作

Git学习_第30张图片

在抓取操作执行后,只是将远程库的内容下载到本地,但是工作区中的文件并没有更新。

切换到远程库进行查看
Git学习_第31张图片

(2)merge进行合并:
Git学习_第32张图片

方式2:

pull操作
Git学习_第33张图片

SSH免密登陆:

Lenovo@LAPTOP-ID97AVPE MINGW64 /e/Gitresp2 (main)
$ git remote add origin_ssh [email protected]:azb123/Gittemp.git

Lenovo@LAPTOP-ID97AVPE MINGW64 /e/Gitresp2 (main)
$ git remote -v
origin  https://github.com/azb123/Gittemp.git (fetch)
origin  https://github.com/azb123/Gittemp.git (push)
origin_ssh      [email protected]:azb123/Gittemp.git (fetch)
origin_ssh      [email protected]:azb123/Gittemp.git (push)

Lenovo@LAPTOP-ID97AVPE MINGW64 /e/Gitresp2 (main)
$ git status
On branch main
Untracked files:
  (use "git add ..." to include in what will be committed)
        test.txt

nothing added to commit but untracked files present (use "git add" to track)

Lenovo@LAPTOP-ID97AVPE MINGW64 /e/Gitresp2 (main)
$ git add test.txt

Lenovo@LAPTOP-ID97AVPE MINGW64 /e/Gitresp2 (main)
$ git commit  -m "create test" test.txt
[main 5d094b6] create test
 1 file changed, 1 insertion(+)
 create mode 100644 test.txt

Lenovo@LAPTOP-ID97AVPE MINGW64 /e/Gitresp2 (main)
$ git push origin_ssh main
The authenticity of host 'github.com (52.74.223.119)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'github.com' (RSA) to the list of known hosts.
Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Delta compression using up to 4 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 295 bytes | 59.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
To github.com:azb123/Gittemp.git
   413a8d6..5d094b6  main -> main

你可能感兴趣的:(Git)