Git代码托管仓库01
学习目标:
- 了解git基本概念
- 概述git工作流程
- 使用git常用命令
- 熟悉git代码托管服务
- 能使用idea操作git
一.了解git基本概念
Git 是一个版本控制系统,而 GitHub 是一个基于 Git 的代码托管平台。以下是几个相关的概念和平台:
1. Git
- Git 是一个分布式版本控制系统,用于跟踪源代码的更改。它允许开发者在本地和远程仓库之间进行版本控制和协作。
2. GitHub
- GitHub 是一个托管 Git 仓库的平台,提供了基于 Git 的版本控制功能,以及代码托管、协作开发、代码审查、项目管理等工具。它是最流行的 Git 托管服务之一,但不是唯一的。
3. 其他 Git 托管平台
除了 GitHub,还有其他许多提供类似功能的 Git 托管服务,包括:
- GitLab:提供 Git 仓库托管、持续集成和持续部署(CI/CD)、问题跟踪等功能。
- Bitbucket:由 Atlassian 提供的 Git 和 Mercurial 仓库托管服务,支持代码托管和团队协作。
- SourceForge:提供版本控制、项目管理和代码托管服务,支持 Git 和其他版本控制系统。
- Azure DevOps:由 Microsoft 提供的服务,支持 Git 仓库、CI/CD、项目管理等功能。
4. 自托管 Git 服务器
- 你也可以在自己的服务器上设置 Git 仓库,使用工具如 Gitolite、Gogs 或 GitBucket 来管理和托管 Git 仓库。
GitHub 是一个具体的 Git 代码托管平台,但 Git 仓库托管可以在许多其他平台上进行。
1.开发中实际场景:
备份,代码还原,协同开发,追溯问题代码的编写人和编写时间
2,版本控制器的方式:
集中式版本控制工具,分布式版本控制工具
3.集中式版本控制工具(如 SVN)是一种版本控制系统,它通过一个中央服务器来管理和存储代码库的所有版本。所有用户从这个中央服务器检出最新版本的代码,提交修改也都上传到这个中央服务器。必须联网才能工作,局域网或者互联网 
4.分布式版本控制(本地仓库和远程仓库)
每个副本都是完整的代码库:
在分布式版本控制系统中,每个用户的本地副本不仅仅是工作副本,还包含了完整的代码库历史。这意味着每个用户的本地仓库都有自己完整的版本记录和所有的历史变更。本地操作:
因为每个用户的本地仓库都是完整的,所以用户可以在本地进行几乎所有的版本控制操作,如提交(commit)、查看历史记录、创建分支等,而不需要依赖中央服务器。分支和合并:
分布式版本控制系统通常提供强大的分支(branch)和合并(merge)功能。用户可以在本地创建多个分支进行不同的开发任务,然后将这些分支合并回主分支,或将其共享给其他用户。去中心化:
由于系统没有单一的中央服务器,任何一个用户的仓库都可以作为其他用户的同步源。这种去中心化的特性增加了系统的灵活性和冗余,减少了单点故障的风险。更好的离线支持:
由于所有的历史记录都存储在本地,用户可以在没有网络连接的情况下进行工作和版本控制操作。一旦重新连接到网络,用户可以将本地的更改推送(push)到其他仓库,或从其他仓库拉取(pull)最新的更改。数据备份:
因为每个仓库都包含完整的历史数据,这种模式提供了天然的数据备份。即使中央服务器发生故障,其他用户的仓库仍然保留了所有的历史记录和数据。
5.Git下载安装
进入Git官网,Download for Windows

选择64位安装包![]()
下载阿里镜像
,带有rc0,rc1,rc2的都是预发布版本,不选
双击安装包,点击next
输入安装目录

默认安装组件
默认在开始菜单目录

默认编辑器
初始化新项目主干名称,默认
调整git环境变量,默认
选择HTTPS后端传输,选择OpenSSL库即可
配置行尾转换
配置Git Bash使用的终端模拟器
git pull 默认行为

选择凭证助手
额外配置项,默认
配置实验选项
点击安装
安装完成

6.在Git Bash 中经常使用的一些git命令(Git GUI是Git提供的图形界面工具,Git Bash 是Git提供的命令行工具)
- ls / ll 查看当前目录下的文件和目录(ll是查看隐藏)
- cat 查看文件内容
- touch 创建文件
- vi vi编辑器
- pwd 查看当前目录
- touch example.txt 用touch命令创建一个新文件。例如名为example.txt的文件
- cd Documents cd切换到特定目录
安装完Git之后首先要做的是设置用户名和email地址,因为每次git提交都会使用该用户信息
7,基本配置
打开git bash ,设置用户信息
git config - global user.name 'huasheng'
git config -global user.email 'hello@huasheng.cn' //邮箱不必是必须存在的邮箱
查看配置信息
git config-global user.namegit config-global user.email
8.获取本地仓库
要使用git对代码进行版本控制,首先要获得本地仓库
- 创建一个空目录,作为本地Git仓库
- 进入目录,右键打开Git Bash窗口
- 执行命令git init //初始化一个新的 Git 仓库
- 创建成功后可在文件夹下看到.git目录 //包含所有 Git 需要的文件和数据结构
这样就可以使用 Git 进行版本控制,跟踪文件的变更、提交历史等。


9.基础操作指令
Git工作目录对于文件的增删改查,这些修改状态会随着执行git命令而发生变化
git add 工作区--->暂存区
git commit 暂存区--->本地仓库

在本地仓库新建一个文件

可以看到已经创建了

git status查看文件状态,可以看到是未跟踪的,在工作区
要进入暂存区,使用以下命令
git add file01.txt
但是一般使用通配符全部加载进去
git add .
通过git status命令查看发现文件已经从工作区进入了暂存区

要将暂存区里的放入仓库生成一个个版本
git commit -m 'add file01' //-m '***' 是注释,可以写该次提交修改了哪些内容
提交到仓库之后可以看到状态已经发生了变化

查看提交信息
git log [option]
option可为以下内容
- -all 显示所有分支
- -pretty =oneline 将提交信息显示为一行
- -abbrev-commit 使得输出的commit更简短
- -graph以图的形式显示
总结,直接git-log,可以显示最终要优化结果(前提是已经配置了这些参数)

以下是对提交信息显示的优化

进入vi编辑器修改现有文件
vi file01.txt

回车进入修改或者insert键进入
:wq 保存
esc 退出编辑连击两次大写字母Z 退出编辑
修改完之后的文件又进入了工作区,同样 git add . 进入暂存区,之后提交加到仓库,查看提交信息
,可以看到有两次提交信息

版本回退
git reset --hard commitID //版本切换,也就是再查看日志,除了该commitID版本,其他版本没了
- commitID可以使用git-log或者git log指令查看
git reflog //可看到已经删除的提交记录

clear之后使用reflog查找被清除的提交信息
add时会将所有文件添加到暂存区,但是只想添加其中一个文件。
新建一个file02.a文件
新建.gitignore文件
vi .gitignore 修改3文件内容,* .a

补充:设置别名
输出日志后面信息一般很长,也比较常用,选择为它设置别名可以减少书写量
git log --pretty=oneline --abbrev-commit --all --graph
在桌面右键,找到git bash命令行工具
输入touch ~/.bashrc //在用户目录创建一个.bashrc文件,用来设置别名

用记事本打开,将内容书写进去
再打开本地仓库的 git bash,输入git-log命令自动输出提交信息

