Git日常使用总结

Git日常使用总结


git简介

Git是目前世界上最先进的分布式版本控制系统。

那什么是版本控制系统?

我们简单假设这样一个场景:我们要写一个函数代码,该函数代码主要融合了三个功能,分别是接收输入数据、对数据进行排序和输出数据。我们写完了接收输入数据这一功能,接着写对数据进行排序这一功能,然后写着写着发现自己的排序功能写错了,想要把排序功能部分的代码全部删掉,但是有可能会误删已经写正确的接收输入数据的代码,所以我们要用肉眼来仔细甄别并删除相关代码。这样子是比较麻烦且容易出错的,特别是当代码量比较大,人眼观察不过来的时候。这时候,git就有用武之地了。

git的简单思想就是:使用git来保存你当前已完成的正确的工作,若后面的工作出现错误,可通过简单的命令回退到之前已保存的正确的那个版本,而不会出现误删写好的正确的代码这种情况。不仅如此,git还有其它强大的功能,可方便地支持多人协作、自动地管理文件改动等等。

下面将介绍git的日常用法。

git的安装

在Windows上使用Git,可以从Git官网直接下载

安装完成后,点击鼠标右键,在出现的菜单中点击“Git Bash Here”,然后蹦出一个类似命令行窗口的东西,就说明Git安装成功!

在刚刚弹出的命令行窗口中,输入一下命令,配置自己的用户名和邮箱

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

创建版本库

我们进入一个空的名为learnGit的目录,然后在该目录下,点击鼠标右键打开git命令行,输入命令git init,这样就创建了一个空的git版本库。

这里写图片描述

可以看到在名为learnGit的目录下,创建了一个隐藏的文件夹.git,这个文件夹里面的内容就是git版本库,里面的文件不可随意删除。用ls -ah命令可在git bash命令行看到隐藏文件。

然后在learnGit文件夹下创建一个test.txt文件,里面的内容为”This is first version”。如下图所示:

这里写图片描述

为了对test.txt文件进行版本管理,我们用git add test.txt命令把该文件添加到版本库,然后再用git commit -m “xxx”把改文件提交到版本库。如下图所示:

这里写图片描述

这样便完成了一次对test.txt文件的版本提交,必须是先git add xxx添加某文件,再git commit -m “xxx”提交某文件,这样才算是完成一次版本提交。-m参数后面加的是本次提交的说明。

版本回退

之前我们对test.txt文件进行了第一次版本提交,为了演示版本回退功能,我们先对test.txt文件进行第二次版本提交。

首先我们修改test.txt文件,再原来的基础上添加上一句话“Second version is added”,然后进行git add xxx添加和git commit -m “xxx”提交,完成第二次版本提交。

如果我们想将test.txt恢复为第一次提交时的状态,那么我们就使用git reset --hard HEAD^命令,注意HEAD后面接了一个^符号,HEAD代表最新一个版本,一个^符号代表最新版本的前一个版本,两个^符号代表最新版本的前第二个版本,以此类推。这样便实现了版本的回退。

这里写图片描述

执行之后,test.txt文件的内容变回了”This is first version”。

分支管理

在版本回退里,每次提交,都相当于在版本线上创建一个节点,这条版本线就是一个分支。分支有主分支,称为master分支,而之前所说的HEAD就是指向master分支。然后自己还可以创建分支,在其它分支上管理不同的版本,需要时再在master分支合并其它分支,达到更新master分支的目的。

以之前的test.txt为例,现在里面的内容是第一次版本的内容,即”This is first version”。然后我们用git branch xxx创建名为xxx的分支,再用git checkout xxx切换到xxx分支,如下图所示:

这里写图片描述

我们在dev分支添加”Second version is added”,然后添加和提交到版本库,形成第二次提交版本。这是master分支还是第一次提交的版本,而dev是第二次提交的版本,test.txt在两个分支的内容是不一样的。若要master更新为最新的dev分支版本,则需要先切换回master分支,再执行命令git merge dev实现合并dev分支,更新master分支的目的。这是master主分支的内容就是最新的了。

其它常用git命令

  1. git status 可以用来常看当前git版本库状态,
  2. git diff 可以查看已修改的内容。
  3. git reset --hard xxx xxx是版本号,回退到xxx版本。
  4. git log 可以查看提交历史,显示出来的版本号可以用来指定回退版本。
  5. git reflog 可以查看命令历史,显示出来的版本号可以用来撤销回退版本这一动作。
  6. git remote add origin git@server-name:path/repo-name.git 可以关联一个远程库
  7. git push -u origin master 向远程库提交第一次master分支的内容
  8. git push origin master 向远程库提交最新内容
  9. git branch -d <name> 删除分支
  10. git branch 查看分支
  11. git tag <tagname> 新建一个标签,默认为HEAD创建标签,也可以为一个指定的版本号创建标签。
  12. git tag -a <tagname> -m "xxx" 指定标签信息
  13. git tag 查看所有标签
  14. git tag -d <tagname> 可以删除一个本地标签
  15. git push origin <tagname> 向远程库推送一个标签
  16. git push origin --tags 向远程库推送所有标签
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值