Git 保姆级使用教程

目录

一、Git介绍

二、Git 与 SVN 区别

三、Git 安装配置

1.Linux 平台上安装

Debian/Ubuntu

Centos/RedHat

源码安装

2.Windows 平台上安装

3.Mac 平台上安装

四、安装完成后配置

五、创建版本仓库

六、Git常用命令

1.创建仓库命令

2.提交与修改

3.提交日志

4.远程操作

七、区域划分和Git命令应用示例

区域划分

应用示例:

1.编写readme.md文件

2.git add 把文件从工作区提交到暂存区

3.git status查看仓库中的暂存区当前状态

4.git commit 把暂存区的文件提交到仓库中的永久区(第一次提交)

5.git status 再次查看仓库中的暂存区当前状态

6.提交到暂存区的文件被修改后的提示

7.git commit 把暂存区的文件提交到仓库中的永久区(第二次提交)

8.git log 查看历史提交记录

9.git reflog 查看历史命令,便于查看所有历史 commit_id(例如图片中a357aa6)

10.git reset --hard a357aa6

11.git rm fileName 丢弃工作区的修改内容,从版本库的暂存区恢复

八、Git分支管理

1. git branch 从主线上创建分支 (前提是已经有master)​编辑

2. 分别向主线和分支提交多次文件后用 git merge 进行合并分支

3.发现合并冲突,原因是主线跟分支上的文件内容不同

4.在 Git 中,我们可以用 git add 要告诉 Git 文件冲突已经解决

5.最后输出git log --graph --pretty=oneline --abbrev-commit  查看分支日志 


一、Git介绍

Git是一个开源的分布式版本控制系统,最初由Linus Torvalds为Linux内核开发而创建。

Git允许多人同时修改同一个代码库并跟踪所有修改的历史记录。

使用Git可以方便地管理和协调项目代码的开发和维护,在开源社区和软件开发中广泛应用。

Git使用简单的命令行接口,也有许多可视化的图形界面工具可供选择。

此外,Git还提供了强大的分支和合并功能,可以轻松地管理多个开发分支和合并它们的变化。

Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。

二、Git 与 SVN 区别

Git 不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。

如果你是一个具有使用 SVN 背景的人,你需要做一定的思想转换,来适应 Git 提供的一些概念和特征。

Git 与 SVN 区别点:

  • 1、Git 是分布式的,SVN 不是:这是 Git 和其它非分布式的版本控制系统,例如 SVN,CVS 等,最核心的区别。

  • 2、Git 把内容按元数据方式存储,而 SVN 是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似 .svn、.cvs 等的文件夹里。

  • 3、Git 分支和 SVN 的分支不同:分支在 SVN 中一点都不特别,其实它就是版本库中的另外一个目录。

  • 4、Git 没有一个全局的版本号,而 SVN 有:目前为止这是跟 SVN 相比 Git 缺少的最大的一个特征。

  • 5、Git 的内容完整性要优于 SVN:Git 的内容存储使用的是 SHA-1 哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。Git 保姆级使用教程_第1张图片

三、Git 安装配置

在使用Git前我们需要先安装 Git。Git 目前支持 Linux/Unix、Solaris、Mac和 Windows 平台上运行。

Git 各平台安装包下载地址为:Git - Downloads


1.Linux 平台上安装

Git 的工作需要调用 curl,zlib,openssl,expat,libiconv 等库的代码,所以需要先安装这些依赖工具。

在有 yum 的系统上(比如 Fedora)或者有 apt-get 的系统上(比如 Debian 体系),可以用下面的命令安装:

各 Linux 系统可以使用其安装包管理工具(apt-get、yum 等)进行安装:

Debian/Ubuntu

Debian/Ubuntu Git 安装命令为:

$ apt-get install libcurl4-gnutls-dev libexpat1-dev gettext \
  libz-dev libssl-dev 
$ apt-get install git 
$ git --version git version 1.8.1.2
Centos/RedHat

如果你使用的系统是 Centos/RedHat 安装命令为:

$ yum install curl-devel expat-devel gettext-devel \
  openssl-devel zlib-devel

$ yum -y install git-core

$ git --version
git version 1.7.1
源码安装

我们也可以在官网下载源码包来安装,最新源码包下载地址:Git - Downloads

安装指定系统的依赖包:

########## Centos/RedHat ##########
$ yum install curl-devel expat-devel gettext-devel \
  openssl-devel zlib-devel

########## Debian/Ubuntu ##########
$ apt-get install libcurl4-gnutls-dev libexpat1-dev gettext \
  libz-dev libssl-dev

解压安装下载的源码包:

$ tar -zxf git-1.7.2.2.tar.gz
$ cd git-1.7.2.2
$ make prefix=/usr/local all
$ sudo make prefix=/usr/local install

2.Windows 平台上安装

在 Windows 平台上安装 Git 同样轻松,有个叫做 msysGit 的项目提供了安装包,可以到 GitHub 的页面上下载 exe 安装文件并运行:

安装包下载地址:Git for Windows

官网慢,可以用国内的镜像:CNPM Binaries Mirror。

Git 保姆级使用教程_第2张图片

完成安装之后,就可以使用命令行的 git 工具(已经自带了 ssh 客户端)了,另外还有一个图形界面的 Git 项目管理工具。

在开始菜单里找到"Git"->"Git Bash",会弹出 Git 命令窗口,你可以在该窗口进行 Git 操作。


3.Mac 平台上安装

在 Mac 平台上安装 Git 最容易的当属使用图形化的 Git 安装工具,下载地址为:

git-osx-installer download | SourceForge.net

安装界面如下所示:

Git 保姆级使用教程_第3张图片

四、安装完成后配置

输入命令设置名字和邮箱

git config --global user.name "Your Name"
git config --global user.email "[email protected]"

设置完成后输入命令查看

git config --global --list

Git 保姆级使用教程_第4张图片

五、创建版本仓库

 操作步骤

  1. 在自己喜欢的地方创建一个目录
  2. 在命令行终端进入这个目录
  3. 在这个目录中输入 git init 初始化目录为 Git 仓库
  4. 初始化完成后,查看仓库目录下是否生成 .git 目录(Linux 下 .开头的文件尾隐藏文件)

Git 保姆级使用教程_第5张图片

六、Git常用命令

1.创建仓库命令

下表列出了 git 创建仓库的命令:

命令 说明

git init

初始化仓库
git clone 拷贝一份远程仓库,也就是下载一个项目。

2.提交与修改

Git 的工作就是创建和保存你的项目的快照及与之后的快照进行对比。

下表列出了有关创建与提交你的项目的快照的命令:

命令 说明
git add 添加文件到暂存区
git status 查看仓库当前的状态,显示有变更的文件。
git diff 比较文件的不同,即暂存区和工作区的差异。
git commit -m "" 提交暂存区到本地仓库,"引用备注"
git reset --hard commit_id [head^...] 回退版本,跳转到指定的 commit_id 或者现对于当前节点的某个节点,`^` 表示上一个 
git rm 将文件从暂存区和工作区中删除。
git mv 移动或重命名工作区文件。
git checkout 分支切换。
git switch 更清晰地切换分支。
git restore 恢复或撤销文件的更改。

3.提交日志

命令 说明
git log 查看历史提交记录
git reflog 查看历史命令,便于查看所有历史 commit_id

4.远程操作

命令 说明
git remote 远程仓库操作
git fetch 从远程获取代码库
git pull 下载远程代码并合并
git push 上传远程代码并合并

七、区域划分和Git命令应用示例

区域划分

Git 保姆级使用教程_第6张图片

  • - 工作区:提供代码编辑的工作区,只是在仓库的目录里中,并没有真正的添加到仓库
  • - 暂存区:仓库中的暂存区,在工作区通过 add 添加到暂存区,可查看代码与工作区的变更情况,选择是否添加到正式的仓库区
  • - 时光轴:仓库中的永久区,是由暂存区通过 commit 提交之后的存储区。可记录每一次的正式提交,用于时光倒流

应用示例:

1.编写readme.md文件
2.git add 把文件从工作区提交到暂存区
3.git status查看仓库中的暂存区当前状态

Git 保姆级使用教程_第7张图片

4.git commit 把暂存区的文件提交到仓库中的永久区(第一次提交)
5.git status 再次查看仓库中的暂存区当前状态

Git 保姆级使用教程_第8张图片

6.提交到暂存区的文件被修改后的提示

绿颜色->暂存区跟白色工作区一样

Git 保姆级使用教程_第9张图片

7.git commit 把暂存区的文件提交到仓库中的永久区(第二次提交)
8.git log 查看历史提交记录
9.git reflog 查看历史命令,便于查看所有历史 commit_id(例如图片中a357aa6)
10.git reset --hard a357aa6

Git 保姆级使用教程_第10张图片

Git 保姆级使用教程_第11张图片

11.git rm fileName 丢弃工作区的修改内容,从版本库的暂存区恢复

Git 保姆级使用教程_第12张图片Git 保姆级使用教程_第13张图片

八、Git分支管理

几乎每一种版本控制系统都以某种形式支持分支,一个分支代表一条独立的开发线。

使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。Git 保姆级使用教程_第14张图片

Git 分支实际上是指向更改快照的指针。

有人把 Git 的分支模型称为必杀技特性,而正是因为它,将 Git 从版本控制系统家族里区分出来。

与分支有关常用命令:

git branch 创建分支 
git checkout -b 创建并同时选择新的分支 
git checkout/switch 选择分支               
git branch -d 删除分支 
git merge 合并到分支 
git log --graph --pretty=oneline --abbrev-commit 查看分支日志 

1. git branch 从主线上创建分支 (前提是已经有master)Git 保姆级使用教程_第15张图片

2. 分别向主线和分支提交多次文件后用 git merge 进行合并分支

Git 保姆级使用教程_第16张图片

3.发现合并冲突,原因是主线跟分支上的文件内容不同

Git 保姆级使用教程_第17张图片Git 保姆级使用教程_第18张图片

4.在 Git 中,我们可以用 git add 要告诉 Git 文件冲突已经解决

5.最后输出git log --graph --pretty=oneline --abbrev-commit  查看分支日志 

Git 保姆级使用教程_第19张图片

你可能感兴趣的:(git,git)