2021Git学习笔记整理
Git学习笔记整理
好记性还是不如烂笔头,记录是抵抗遗忘最好的学习方式~
- 笔记大纲,思维导图如下:
- 目录架构
- 第1章-Git介绍
- 第2章-Git安装
- 第3章-Git常用命令
- 第4章-Git分支⭐(重要)
- 第5章-Git团队协作机制
- 第6章-GitHub操作
- 第7章-IDEA集成Git
- 第8章-IDEA集成GitHub
- 第9章-国内代码托管中心-码云Gitee
- 第10章-创建代码托管平台-GitLab
第1章-Git介绍
Git 是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种 项目。
Git 易于学习,占地面积小,性能极快。 它具有廉价的本地库,方便的暂存区域和多个工作流分支等特性。
其性能优于 Subversion(SVN)、CVS、Perforce 和 ClearCase 等版本控制工具。
来自Git官网介绍:Git (git-scm.com)
基于最新版的Git-2.31.1
1.什么是版本控制
版本控制是一种记录文件内容变化,以便将来查阅特定版本修订情况的系统。
版本控制其实最重要的是可以记录文件修改历史记录,从而让用户能够查看历史版本, 方便版本切换。
我举个例子吧,自己魔改hexo博客,就出现过这样的困惑😂
2.为什么会出现版本控制
我个人肤浅的理解就是方便管理文件,最重要的是做项目需要团队开发,代码不方便管理,需要从个人过渡到团队开发!!!虽然有了版本控制的思想,但是没有管理的工具。所以版本控制工具就很好的解决了这个问题。
3.版本控制工具的出现
版本控制工具又分为集中式版本控制工具和分布式版本控制工具
3.1集中式版本控制工具
我所了解和查阅的资料,集中式版本控制工具用的最多的是SVN,CVS、SVN(Subversion)、VSS……
-
概述:需要都有一个单一的集中管理的服务器,协同工作的开发者都通过客户端连到这台服务器。取出最新的文件或 者提交更新。这是版本控制系统的标准做法!
优点 缺点 每个人都可以在一定程度上看到项目中的其他人正在做些什 么。 中央服务器的单点故障 管理员也可以轻松掌控每个开发者的权限,并且管理一个集中化的版本控制系统。 服务器宕机 比在各个客户端上维护本地数据库来得轻松容易。 宕机期间谁都无法提交更新,也无法协同工作。
3.2分布式版本控制工具
我所了解和查阅的资料,集中式版本控制工具用的最多的是Git、Mercurial、Bazaar、Darcs……
Git分布式版本控制工具,客户端提取的不是最新版本的文件快照,而是把代码 仓库完整地镜像下来(本地库)。
当协同工作用的文件发生故障,事后都可以用 其他客户端的本地仓库进行恢复。
每个客户端的每一次文件提取操作,实际上都是一次 对整个文件仓库的完整备份。
分布式的版本控制系统解决了集中式版本控制系统的缺陷:
- 服务器单点故障的情况下也可以进行开发(因为版本控制是在本地进行)
- 每个客户端保存的也都是整个完整的项目(包含历史记录,更加安全)
4.Git发展历史
4.1简介
Git 诞生于一个极富纷争大举创新的年代。来自于同样的Linux之父,林纳斯·本纳第克特·托瓦兹
Linux 内核开源项目有着为数众多的参与者。 绝大多数的 Linux 内核维护工作都花在了提交补丁和保存归档的繁琐事务上(1991-2002年间)。 到 2002 年,整个项目组开始启用一个专有的分布式版本控制系统 BitKeeper 来管理和维护代码。
林大佬花了两个星期就开发出了Git,大佬就是强!!!
5.Git的工作机制
6.6 Git 和代码托管中心(远程仓库)
-
➢ 局域网
- ✓ GitLab
-
➢ 互联网
-
✓ GitHub(外网)
-
✓ Gitee 码云(国内网站)
关于Git的介绍就到这里,大概有个了解吧~🙂
-
第2章-Git安装
安装图解加上详细的解释:
#win+r 打开 cmd
#输入
git --version
#输出版本信息即可
安装大功告成!!!实在不行,无脑下一步安装即可
第3章-Git常用命令
Git账户设置
1.# git config --global user.name 用户名
git config --global user.name "ck_cheng"
2.# git config --global user.email 邮箱
git config --global user.email 2574833532@qq.com
初始化本地库
git init
#隐藏目录有.git
查看本地库状态
git status
添加到暂存区
git add 文件名
git add . 添加所有文件
提交到本地库
git commit -m "日志信息" 文件名
查看历史记录
git reflog 查看版本信息
git log 查看版本详细信息
版本穿梭
git reset --hard 版本号
Git 切换版本,底层其实是移动的 HEAD 指针
第4章-Git分支⭐(重要)
1.概念
在版本控制过程中,同时推进多个任务,为每个任务创建每个任务的单独分支。
从开发主线上分离开来,开发自己分支的时 候,不会影响主线分支的运行。
2.分支操作
命令 | 作用 |
---|---|
git branch 分支名 | 创建分支 |
git branch -v | 查看分支 |
git checkout 分支名 | 切换分支 |
git merge 分支名 | 把指定的分支合并到当前分支上 |
3.代码冲突
冲突产生的表现:后面状态为 MERGING
冲突产生的原因: 合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改。Git 无法替 我们决定使用哪一个。必须人为决定新代码内容。
4.解决冲突
编辑有冲突的文件,删除特殊符号,决定要使用的内容
特殊符号:<<<<<<< HEAD 当前分支的代码 ==== 合并过来的代码 >>>>>>> 分支名
注意:修改后,执行提交(注意:此时使用 git commit 命令时不能带文件名)
第5章-Git团队协作机制
1.团队内协作
2.跨团队协作
第6章-GitHub操作
1.远程库操作
命令 | 作用 |
---|---|
git remote -v | 查看当前所有远程地址别名 |
git remote add 别名 远程地址 | 起别名 |
git push 别名 分支 | 推送本地分支上的内容到远程仓库 |
git pull 远程库地址别名 远程分支名 | 将远程仓库对于分支最新内容拉下来后与 当前本地分支直接合并 |
git clone 远程地址 | 将远程仓库的内容克隆到本地 |
2.邀请加入团队
添加人员
3.SSH免密登录
具体操作如下:
1.--进入当前用户的家目录
cd
2.--删除.ssh 目录
rm -rvf .ssh
3.运行命令生成.ssh 秘钥目录[注意:这里-C 这个参数是大写的 C]
ssh-keygen -t rsa -C 2574833532@qq.com
一路回车
4.进入.ssh 目录查看文件列表
cd .ssh
ll -a
5.cat id_rsa.pub
复制 id_rsa.pub 文件内容,登录 GitHub,点击用户头像→Settings→SSH and GPG keys
第7章-IDEA集成Git
1.配置 Git 忽略文件
作用:忽略掉能够屏蔽 IDE 工具之 间的差异。
创建忽略规则文件 xxxx.ignore(前缀名随便起,建议是 git.ignore)
建议也放在用 户家目录下
2.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
3.在.gitconfig 文件中引用忽略配置文件(此文件在 Windows 的家目录中)
[user]
name = ck_cheng
email = 2574833532@qq.com
[core]
excludesfile = C:/Users/Daly/git.ignore
注意:这里要使用“正斜线(/)”,不要使用“反斜线(\)”
4.定位 Git 程序
IDEA打开File-->settings
就是在idea里进行分支操作
第8章-IDEA集成GitHub
1.设置 GitHub 账号
第9章-国内代码托管中心-码云Gitee
IDEA 集成码云
IDEA 安装码云插件 Idea 默认不带码云插件,我们第一步要安装 Gitee 插件。
跟Github一样差不多的操作
第10章-创建代码托管平台-GitLab
1.简介
GitLab 是由 GitLabInc.开发,使用 MIT 许可证的基于网络的 Git 仓库管理工具,且具有 wiki 和 issue 跟踪功能。使用 Git 作为代码管理工具,并在此基础上搭建起来的 web 服务。
GitLab 由乌克兰程序员 DmitriyZaporozhets 和 ValerySizov 开发,它使用 Ruby 语言写 成。后来,一些部分用 Go 语言重写。截止 2018 年 5 月,该公司约有 290 名团队成员,以 及 2000 多名开源贡献者。
GitLab 被 IBM,Sony,JülichResearchCenter,NASA,Alibaba, Invincea,O’ReillyMedia,Leibniz-Rechenzentrum(LRZ),CERN,SpaceX 等组织使用。
2. GitLab 官网地址
官网地址:about.gitlab.com/
安装说明:about.gitlab.com/installatio…
3.服务器准备
准备系统为 CentOS7 以上版本的服务器,要求内存 4G,磁盘 50G。 关闭防火墙,并且配置好主机名和 IP,保证服务器可以上网。
4.安装包准备
Yum 在线安装 gitlab- ce 时,需要下载几百 M 的安装文件,非常耗时,所以最好提前把 所需 RPM 包下载到本地,然后使用离线 rpm 的方式安装。
5.编写安装脚本
vim gitlab-install.sh
sudo rpm -ivh /opt/module/gitlab-ce-13.10.2-ce.0.el7.x86_64.rpm
sudo yum install -y curl policycoreutils-python openssh-server cronie
sudo lokkit -s http -s ssh
sudo yum install -y postfix
sudo service postfix start
sudo chkconfig postfix on
curl https://packages.gitlab.com/install/repositories/gitlab/gitlabce/script.rpm.sh | sudo bash
sudo EXTERNAL_URL="http://gitlab.example.com" yum -y install gitlabce
给脚本增加执行权限
chmod +x gitlab-install.sh
ll
# 然后执行该脚本,开始安装 gitlab-ce。注意一定要保证服务器可以上网。
./gitlab-install.sh
6.初始化 GitLab 服务
执行以下命令初始化 GitLab 服务,过程大概需要几分钟,耐心等待…
gitlab-ctl reconfigure
7.启动 GitLab 服务
执行以下命令启动 GitLab 服务,如需停止,执行 gitlab-ctl stop
gitlab-ctl start
8.idea集成Gitlab
转载自:https://juejin.cn/post/6960845285790580773