Git 版本控制工具

目录

一、集中式版本控制和分布式版本控制的区别

二、Bash - CMD - GUI


一、集中式版本控制和分布式版本控制的区别

  • SVN 是集中式版本控制工具,它会将所有的内容存储到一台服务器上,用户通过对服务器中的内容进行操作,从而获取最新的内容。用户的本地只有用户自己需要的文件,不会全量下载服务器中的所有内容。当服务器出现异常,意味着整个文件内容的异常。
  • Git 是分布式版本控制工具,他会将所有的内容存储到服务器上,但用户的本地是对该服务器的镜像下载,即:用户本地的文件和服务器中的文件是完全一样的,即使服务器出现异常,用户本地的内容也可以作为一个新的服务器内容进行发布。

二、Bash - CMD - GUI 的区别

  • Git Bash 命令行工具,基于CMD,并在CMD 的基础上添加了新的命令和功能,可以执行linux 命令
  • Git CMD 命令行提示符,是Windows操作系统上的命令行解释程序
  • Git GUI 提供了图形用户界面来运行git 命令

三、Git 基础

1、git init 初始化Git 仓库

该命令将创建一个名为.git 的子目录,但项目里的文件并没有被跟踪

2、git clone 从Git 远程仓库拉取代码

3、git 划分文件状态

  1. 为跟踪:默认情况下,Git 仓库下的文件也没有添加到Git 仓库管理中,需要通过git add 命令来操作
  2. 已跟踪:添加到Git 仓库管理的文件处于已跟踪的状态,Git 可以对其进行各种跟踪管理。

对于已跟踪的状态还可以进一步细分

  • staged: 暂缓区中的文件状态
  • Unmodified: commit 命令,可以将staged 中文件提交到Git 仓库
  • Modified: 修改了某个文件后,会处于Modified 状态

4、.gitignore 忽略文件

文件名:.gitignore

5、git log 查看提交历史

git log (查看每条提交历史明细)

git log --pretty=oneline (每条提交历史作为一行显示,更加清晰)

git log --pretty=oneline --graph (每条提交历史的分支结构更加清晰)

6、git reset 版本回退

  • Git 通过HEAD 指针记录当前版本
  • HEAD 是当前分支引用的指针,它总是指向该分支上的最后一次提交;
  • HEAD 可以看做为该分支上的最后一次提交的快照

回退Git 版本指令

  • git reset --hard HEAD^            回退到上一个版本
  • git reset --hard HEAD~10          回退到上10 个版本
  • git reset --hard 2d449823           回退到指定版本(先通过git log 查看唯一校验和)

7、git remote 查看和连接远程仓库

  • git remote 查看是否有远程仓库
  • git remote -v 查看远程仓库明细
  • git remote add :将本地仓库与远程仓库建立连接,如:git remote add origin https://...,然后git branch --set-upstream-to=origin/master,然后git fetch,git merge --allow-unrelated-histories

你可能感兴趣的:(git)