Git分布式版本控制工具——入门

GIt

一、Git解决现有项目中存在的问题

  1. 安全性低
  2. 无法协同开发
  3. 无端报错

二、Git的概念(什么是Git)

git是一个分布式的版本控制及协同开发工具

三、版本控制工具的分类

3.1集中式版本控制工具 cvs svn

在这里插入图片描述在这里插入图片描述

3.2 分布式版本控制工具 Git

在这里插入图片描述
在这里插入图片描述

四、Git的下载和安装(Windows)

  • 从Git官网直接下载安装程序,然后按默认选项安装即可:https://git-scm.com/download/win
  • 安装完成后,还需要最后一步设置,在命令行输入:
    $ git config --global user.name "你的名字"
    $ git config --global user.email "你的email"
    3.注意:git config命令的–global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。

五、Git的使用

5.1、创建版本库

  • 概念:版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。
  • 创建版本库:
  • 1.选择一个合适的地方,创建一个空目录: $ mkdir 版本库名
  • 2 .通过git init命令把这个目录变成Git可以管理的仓库:$ git init
  • 3.注意:瞬间Git就把仓库建好了,而且告诉你是一个空的仓库(empty Git repository),细心的读者可以发现当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。如果你没有看到.git目录,那是因为这个目录默认是隐藏的,用ls -ah命令就可以看见

5.2 、创建一个文件

$ vi aaa.txt

5.3、将文件添加到暂存区

$ git add file    #file添加文件名称

5.4、将文件提交到版本库

$ git commit -m "描述信息"   #描述信息

5.5、查看状态

$ git status   #查看状态

出现的内容:
红色:工作区已经修改没有添加到暂存区
绿色:工作区修改并且已经添加到暂存区,并未提交到版本库
nothing to commit, working tree clean
工作区与版本库保持一致

5.6、Git分区原理

在这里插入图片描述在这里插入图片描述

5.7、查看GIt提交的每个版本

$ git log
$ git log --pretty=oneline

5.8、版本回退

Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,也就是最新的提交1094adb...(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100

5.8.1、回退到上一个版本
$ git reset --hard HEAD^   #回退到上一个版本
$ git reset --hard HEAD^1~100   #回退到上N个版本
5.8.2、回退到指定版本
$ git reset --hard 3b43   #回退到上指定版本

最新的那个版本append GPL已经看不到了怎么办?
只要上面的命令行窗口还没有被关掉,你就可以顺着往上找,找到那个append GPLcommit id1094adb...,于是就可以指定回到未来的某个版本:
当你用$ git reset --hard HEAD^回退到add distributed版本时,再想恢复到append GPL,就必须找到append GPL的commit id。Git提供了一个命令git reflog用来记录你的每一次命令:$ git reflog #查看历史命令

5.9、撤销修改

5.9.1、撤销工作区的修改
$ git restore <file> 
5.9.2、撤销暂存区的修改
$ git reset HEAD aaa.txt  #撤销暂存区的修改到工作区

5.10、删除文件

5.10.1、直接删除
$ rm <file>  #删除文件
5.10.2、确定删除
$ git rm 文件名
$ git commit -m "删除信息"
5.10.3、误删除
$ git restore bbb.txt #撤销工作区的修改

六、GitHub

6.1、登录注册

6.2将远程仓库(GitHub上面)的项目拉到本地

$ git clone  git@github.com:用户名/要下载的项目名.git

在这里插入图片描述注意:第一次可能会 拉取失败,原因可能是:

  • 1.有可能仓库名称写的不对
  • 2.没有权限克隆

6.3、生成公钥和私钥

第1步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsaid_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:
$ ssh-keygen -t rsa -C "你的email"
公钥信息在.shh文件夹下生成的id_rsa.pub文件内
私钥信息在.ssh文件夹下生成的id_rsa文件内

6.4、在GitHub上配置信任列表

登陆GitHub,打开“Settings”,“SSH Keys”页面,然后,点“New SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容:
在这里插入图片描述

6.5、创建GitHub仓库

在这里插入图片描述

6.6、将远程仓库(项目)拉到本地

$ git clone  git@github.com:用户名/要下载的项目名.git

在这里插入图片描述

如果拉取成功,则会展示:
在这里插入图片描述

6.7、将本地对仓库(项目)的修改推送到远程仓库(GitHub)

$ git push -u origin master  #第一次使用这个命令
$ git push origin master #第一次后可使用这个命令

6.8、将GitHub上的修改(也可是其他人修改)更新到本地

$ git pull origin master

6.9、将本地项目推送到远程(远程要先有一个同名空文件夹)

6.9.1、将本地项目初始化GIt仓库

进入项目的文件夹:

git init
git add .
git commit -m "描述信息"
git remote add origin git@github.com:GitHub用户名/184-test-git.git  #与远程Github(同名的空文件夹)建立一个连接
git push -u origin master  #将仓库推送至远程
6.9.2、在GitHub创建一个空目录

在这里插入图片描述

七、分支管理

7.1、概念

在版本回退里,你已经知道,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支。HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支,下面用一张图来说明分支:
在这里插入图片描述

7.2、创建分支

$ git branch dev   #dev:分支名

7.3、查看分支

$ git branch

7.4、切换分支

git checkout dev #dev:分支名字

7.5、创建并切换分支

$ git checkout -b dev   #dev:分支名字

7.6、合并分支

$ git merge dev

7.7、删除分支

$ git branch -d dev

https://www.liaoxuefeng.com/wiki/896043488029600/900003767775424 廖雪峰的官方网站

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值