Git教程之Git 基础

废话不多说了,看到好多git使用的还不是那么流畅的同学,所以写个教程贡献点力量。

推荐一个文档,挺不错的:https://git-scm.com/book/zh

Git 是什么?

Git 是版本控制系统。举个简单的例子,你写word或者ppt 的时候内容都会随着时间时间发生变化,git就是记录这种变化的系统。

Git 有三种状态,你的文件可能处于其中之一: 已提交(committed)已修改(modified)已暂存(staged)
在这里插入图片描述

这会让我们的 Git 项目拥有三个阶段:工作区、暂存区以及 Git 目录。

工作区
工作区是对项目的某个版本独立提取出来的内容。 这些从 Git 仓库的压缩数据库中提取出来的文件,放在磁盘上供你使用或修改。
暂存区
暂存区是一个文件,保存了下次将要提交的文件列表信息,一般在 Git 仓库目录中。 按照 Git 的术语叫做“索引”,不过一般说法还是叫“暂存区”。
Git 仓库
Git 仓库目录是 Git 用来保存项目的元数据和对象数据库的地方。 这是 Git 中最重要的部分,从其它计算机克隆仓库时,复制的就是这里的数据。

基本的 Git 工作流程如下:
1.在工作区中修改文件。
2.将你想要下次提交的更改选择性地暂存,这样只会将更改的部分添加到暂存区。
3.提交更新,找到暂存区的文件,将快照永久性存储到 Git 目录。

在这里插入图片描述

以上是git基本的概念需要了解的内容,刚开始可能不是很理解,没关系,慢慢的实践当中会逐渐的熟悉的。

Git 基础

下面会以一个真是的git项目来演示。

git clone https://github.com/libgit2/libgit2

git clone 可以克隆远程仓库到本地。

基础操作

检查当前文件状态

git status

可以用 git status 命令查看哪些文件处于什么状态。
在这里插入图片描述
这说明你现在的工作目录相当干净,也就是说没有任何变动。
在这里插入图片描述
在状态报告中可以看到新建的 README 文件出现在 Untracked files 下面。

跟踪新文件

使用命令 git add 开始跟踪一个文件。 所以,要跟踪 README 文件,运行:

git add README

在这里插入图片描述

提交更新

git commit

这个命令会让你进入文本编辑器来输入提交说明:

# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch master
# Your branch is up-to-date with 'origin/master'.
#
# Changes to be committed:
#	new file:   README
#	modified:   CONTRIBUTING.md
#
~测试提交
~
~
".git/COMMIT_EDITMSG" 9L, 283C

请记住,提交时记录的是放在暂存区域的快照。 任何还未暂存文件的仍然保持已修改状态,可以在下次提交时纳入版本管理。 每一次运行提交操作,都是对你项目作一次快照,以后可以回到这个状态,或者进行比较。

查看提交历史

git log

git log 会按时间先后顺序列出所有的提交,最近的更新排在最上面。

在这里插入图片描述

撤消操作

有时候我们提交完了才发现漏掉了几个文件没有添加,或者提交信息写错了。 此时,可以运行带有 --amend 选项的提交命令来重新提交:

git commit --amend

这个命令会将暂存区中的文件提交。 如果自上次提交以来你还未做任何修改(例如,在上次提交后马上执行了此命令), 那么快照会保持不变,而你所修改的只是提交信息。

文本编辑器启动后,可以看到之前的提交信息。 编辑后保存会覆盖原来的提交信息。

例如,你提交后发现忘记了暂存某些需要的修改,可以像下面这样操作:

$ git commit -m ’ commit 1’
$ git add text.txt
$ git commit --amend
最终你只会有一个提交——第二次提交将代替第一次提交的结果。

在这里插入图片描述

取消暂存的文件

git reset HEAD CONTRIBUTING.md

取消某个文件暂存

git restore --staged text.txt

远程仓库的使用

查看远程仓库:
git remote -v

origin	https://gitee.com/Pylar/gittest.git (fetch)
origin	https://gitee.com/Pylar/gittest.git (push)

添加远程仓库

git remote add pb https://github.com/paulboone/ticgit

从远程仓库中抓取与拉取

git fetch

git fetch origin

如果你使用 clone 命令克隆了一个仓库,命令会自动将其添加为远程仓库并默认以 “origin” 为简写。 所以,git fetch origin 会抓取克隆(或上一次抓取)后新推送的所有工作。

推送到远程仓库
git push

git push origin master

Git 基础 - 打标签

创建标签
Git 支持两种标签:轻量标签(lightweight)与附注标签(annotated)。

附注标签

git tag -a v1.4 -m "my version 1.4"
git show v1.4

轻量标签

git tag v1.5

创建轻量标签,不需要使用 -a、-s 或 -m 选项,只需要提供标签名字

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值