当前位置:   article > 正文

Git笔记 从入门到精通_git从入门到精通pdf

git从入门到精通pdf

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

Git是一个开源的分布式版本控制系统,可以有效高速的处理从很小到很大的项目版本管理。


1. Git工作机制和托管中心

1.1 工作机制

历史版本→本地库

​ ↑

git commmit

​ ↑

暂时储存→暂存区

​ ↑

git add

​ ↑

写代码 →工作区

1.2 托管中心

代码托管中心是基于网络服务器的远程代码仓库,一般我们简单称为远程库

  • 局域网

GitLab

  • 互联网

GitHub(外国网站)

Gitee 码云(国内网站)

2. Git常用命令

命令名称作用
git config --global user.name 用户名设置用户签名
git config --global user.email 邮箱设置用户签名
git config --global core.quotepath false设置显示中文文件
git init初始化本地库
git status查看本地库状态
git add 文件名添加到暂存区
git commit -m "日志信息" 文件名提交到本地库
git reflog 或 git log(更详细)查看历史记录
git reset --hard 版本号版本穿梭

2.1 设置用户签名

admin@DESKTOP-E8GCEEI MINGW64 ~
$  git --version    //查看版本号
git version 2.35.1.windows.2

admin@DESKTOP-E8GCEEI MINGW64 ~
$ git config --global user.name tang  //设置用户签名

admin@DESKTOP-E8GCEEI MINGW64 ~
$ git config --global user.email 2834323411@qq.com //设置用户签名

admin@DESKTOP-E8GCEEI MINGW64 ~
$ git config  --global  core.quotepath false  //设置显示中文文件
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

注意:这里设置用户签名和将来登录GitHub(或其他代码托管中心)的账号没有任何关系

  • 查看是否设置成功

在C:\Users\admin里面找到 .gitconfig 文件并打开

2.2 初始化本地库

admin@DESKTOP-E8GCEEI MINGW64 ~/Desktop/my demo/git_demo 
$ git init  
  • 1
  • 2

初始化之后会自动在当前文件夹下生成一个隐藏文件 .git

2.3 查看本地库状态

admin@DESKTOP-E8GCEEI MINGW64 ~/Desktop/my demo/git_demo (master)
$ git status  
On branch master
nothing to commit, working tree clean
  • 1
  • 2
  • 3
  • 4

2.4 添加到缓存区

admin@DESKTOP-E8GCEEI MINGW64 ~/Desktop/my demo/git_demo (master|MERGING)
$ git add hello.txt
  • 1
  • 2

2.5 提交到本地库

  • 通过git commit -m "日志信息" 文件名
    通过其git status也可看出其不同
    而且查看日志也可看出版本更新
admin@DESKTOP-E8GCEEI MINGW64 ~/Desktop/my demo/git_demo (master|MERGING)
$ git commit -m "merge"  
[master f556a5b] merge
  • 1
  • 2
  • 3

2.6 历史版本

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

admin@DESKTOP-1SHNHA2 MINGW64 /e/Git (master)
$ git reflog
3f47d64 (HEAD -> master, origin/master, git/master) HEAD@{0}: commit: git笔记1.1
29410ad HEAD@{1}: commit: git笔记1.0
f73d1ab HEAD@{2}: commit: 完善版
df5acc9 HEAD@{3}: reset: moving to df5acc9
20952cf HEAD@{4}: reset: moving to 2095
df5acc9 HEAD@{5}: commit: git笔记1.0
d930448 HEAD@{6}: commit: 进行了第四次修改
24de0b6 HEAD@{7}: commit: 第二次修改有误,返回上次版本
435af33 HEAD@{8}: commit: 进行了第二次修改
20952cf HEAD@{9}: commit (initial): 进行了一次修改

admin@DESKTOP-1SHNHA2 MINGW64 /e/Git (master)
$ git log
commit 3f47d64f23916a165bc218a4bf47ccbe5540bcf5 (HEAD -> master, origin/master, git/master)
Author: tang <2834323411@qq.com>
Date:   Sat Sep 3 13:10:14 2022 +0800

    git笔记1.1

commit 29410ad24169242a841511e3299560203b4cccec
Author: tang <2834323411@qq.com>
Date:   Sat Sep 3 12:47:05 2022 +0800

    git笔记1.0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

2.6.1 版本穿梭

​ git reset --hard 版本号

admin@DESKTOP-1SHNHA2 MINGW64 /e/应用21301唐辉阳/Git (master)
$ git reflog
bf3c4a7 (HEAD -> master) HEAD@{0}: commit: git笔记1.0
f73d1ab HEAD@{1}: reset: moving to HEAD^
29410ad HEAD@{2}: reset: moving to 29410ad
3f47d64 (origin/master, git/master) HEAD@{3}: commit: 唐辉阳的git笔记
29410ad HEAD@{4}: commit: git笔记
f73d1ab HEAD@{5}: commit: 完善版
df5acc9 HEAD@{6}: reset: moving to df5acc9
20952cf HEAD@{7}: reset: moving to 2095
df5acc9 HEAD@{8}: commit: git笔记
d930448 HEAD@{9}: commit: 进行了第四次修改
24de0b6 HEAD@{10}: commit: 第二次修改有误,返回上次版本
435af33 HEAD@{11}: commit: 进行了第二次修改
20952cf HEAD@{12}: commit (initial): 进行了一次修改

admin@DESKTOP-1SHNHA2 MINGW64 /e/应用21301唐辉阳/Git (master)
$ git reset --hard 3f47
HEAD is now at 3f47d64 唐辉阳的git笔记

admin@DESKTOP-1SHNHA2 MINGW64 /e/应用21301唐辉阳/Git (master)
$ git reset --hard bf3c
HEAD is now at bf3c4a7 git笔记1.0

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

2.7 Git常用命令速查表

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-loVLF8UC-1662218517526)(pictrue/git常用命令.jpg)]

3. Git的分支操作

​ 在版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支的运行

优点

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

分支常用命令

命令名称作用
git branch 分支名创建分支
git branch -d 分支名删除分支
git branch -v查看分支
git branch -r查看远程库分支
git checkout 分支名切换分支
git merge 分支名把指定的分支合并到当前分支上

分支合并

代码冲突时,先改文件,再使用命令(不能带文件名)

4. GitHub操作

GitHub网址

  1. 创建远程仓库
  2. 输入仓库名

远程仓库命令

命令名称作用
git remote -v查看当前所有远程地址别名
git remote add 别名 远程地址起别名
git push 别名 分支推送本地分支上的内容到远程仓库
git diff查看冲突文件
git clone 远程地址将远程仓库的内容克隆到本地
git pull 远程库地址别名 远程分支名将远程仓库对于分支最新内容拉下来后与当前本地分支直接合并

查看、创建别名

admin@DESKTOP-E8GCEEI MINGW64 ~/Desktop/my demo/git_demo (master)
$ git remote -v  //查看别名

admin@DESKTOP-E8GCEEI MINGW64 ~/Desktop/my demo/git_demo (master)
$ git remote add git-demo https://github.com/Tang17261828134/git_demo.git
//创建别名
admin@DESKTOP-E8GCEEI MINGW64 ~/Desktop/my demo/git_demo (master)
$ git remote  -v
git-demo        https://github.com/Tang17261828134/git_demo.git (fetch)
git-demo        https://github.com/Tang17261828134/git_demo.git (push)

admin@DESKTOP-E8GCEEI MINGW64 ~/Desktop/my demo/git_demo (master)
$ git remote  remove git-demo  //删除别名
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

起好别名之后
可以通过别名上传文件

团队内合作
可以通过GitHub内中的设置有个manger access进行邀请账户
之后受邀人通过复制该链接进行同意即可

受邀人克隆clone代码之后编辑在上传可以实现更改代码的模型

跨团队合作
通过代码的fork变成自已的,之后修改之后通过pull request请求发送
如果成功就会变成是你修改的

SSH免密登录

  1. 进入Git Bash here
  2. 输入命令:ssh-keygen -t rsa
  3. 在C:\Users\admin\.ssh里面找到 id_rsa.pub,将里面的内容全部复制下来
  4. 登录Gitee网站,点 设置 一> SSH公钥 一> 在添加公钥里面粘贴刚刚复制的内容

注意:用ssh免密登录的话,起别名是后面的链接只能是http,而不能是https

5. IDEA 集成 Git

5.1配置Git忽略文件

先设置一个忽视文件
与项目的实际功能无关,不参与服务器上部署运行
设置一个 git.ignore
内容文件为

# Compiled class file
*.class
# Log file
*.log
# BlueJ files
*.ctxt
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar
# virtual machine crash logs, see 
http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
.classpath
.project
.settings
target
.idea
*.iml

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

在.gitconfig 文件中引用忽略配置文件

[user]
name = manong
email = yanjiuseng
[core]
excludesfile = C:/目录/git.ignore

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

5.2 定位Git程序

在这里插入图片描述

5.3 初始化本地库

在这里插入图片描述

5.4 添加到暂存区

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FRh2UvMu-1662218517528)(pictrue/idea_Git_03.png)]

添加成功后的文件为绿色未添加至缓存区的文件为红色

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fCSEdHoI-1662218517529)(pictrue/idea_Git_04.png)]

5.5 提交到本地库

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-e7tKZMcC-1662218517529)(pictrue/idea_Git_05.png)]

5.6 切换版本

5.6.1 查看版本信息

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dWVdx9br-1662218517530)(pictrue/idea_Git_06.png)]

5.6.2 切换版本

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2qkYbDKF-1662218517530)(pictrue/idea_Git_07.png)]

5.7 创建分支

创建分支这里有两种方法

  •  [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PPwINhv4-1662218517531)(pictrue/idea_Git_08.png)]
  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qWszov0G-1662218517531)(pictrue/idea_Git_09.png)]

5.8 切换分支

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mx2xaG2X-1662218517532)(pictrue/idea_Git_10.png)]

5.9 合并分支

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NVpKaAR4-1662218517532)(pictrue/idea_Git_10.png)]

5.10 解决冲突

链图片转存中...(img-dWVdx9br-1662218517530)]

总结

这次通过学习git让我学到了很多,了解到了很多⾃⼰不知道的知识。Git 是⼀个分布式管理⼯具,通过指纹字符串来时刻保持数据的完整性,关⼼的是⽂件数据整体的变化,并不保存变化前后的差异数据;Git 在本地磁盘保存有关项⽬的历史更新,所有绝⼤多数操作只需要访问本地⽂件资源,并不需要Internet。当然可以使⽤GitHbub将代码托管,进⾏远程开发,⽅便团队⽐较分散的情况(这正体现Git分布式的优势);开发⼈员只需将项⽬clone到本地,进⾏相应的开发然后push上传到 GitHub即可。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/607750
推荐阅读
相关标签
  

闽ICP备14008679号