Git for Windows - #01 建立、修改、移动、删除

本文介绍了Git for Windows的安装及基本操作,包括创建新Repository、新增、修改、移动、删除文件,以及查看修改记录。Git是分布式版本控制系统,与SVN相比具有速度优势和更少的存储空间需求。通过Git Bash进行命令行操作,如`git init`创建Repository,`git add`将文件放入staging area,`git commit`保存到仓库,以及文件的重命名和删除等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

版本控制的主要目的就是把文件的所有更改详细地记录下来。这样我们就可以放心修改:改动后发现有问题,我们可以容易地查出改动过什么,甚至恢复到上一个没有问题的版本。

Git是现今最流行的版本控制系统。它本来是设计运行在Linux系统里的,后来有人把它也实现在Windows平台上了。

Git跟SVN虽同是版本控制系统,但是最大分别是:Git是分布式的,SVN则是集中式的。分布式就是说,每一个安装了Git的系统都是独立而且完整的一个版本控制系统,它不需要依赖一个中央系统作最终管理;相反,集中式必须依赖着一个中央系统生存,一旦与之离线,就不可以作版本控制了。另外就是架构和速度的分别:Git的设计是精简而强大的,版本控制的操作速度要比SVN快上N倍,而且占用的储存空间要比SVN小得多。

安装

这是Git的官网:https://git-scm.com,各位可以点【Downloads】下载
- 记得钩选【Windows Explorer Integration】
记得钩选【Windows Explorer Integration】
- 我个人会选择Nodepad++作为预设的编辑器
我个人会选择Nodepad++作为预设的编辑器
- 其他的就不做改动了,点Next、Next。。。就好了。

创建一个新的Repository(版本库)

一个版本控制系统下面可以有很多的repository。一般情况下,我们会把同一项目下的所有文件都放在一个repository里,两个项目就会有两个repository。那么,我们怎么知道现在本机有多少个repository呢?

以上的问题先不说,让我们先打开Git的命令窗口测试一下。对,是Git的Bash命令窗口。

  1. 在桌面的空白处摁鼠标右键,点选【Git Bash Here】
  2. 在弹出的命令窗口输入git --version,摁【Enter】
  3. 这个命令是查询当前Git的版本

好了,接下来我们就在桌面新建立一个名为“git-test”的文件夹

  1. 在命令窗口键入mkdir git-test,摁【Enter】
  2. 接着键入cd git-test,把当前命令行的工作目录切换到“git-test”底下
  3. 重点命令来了,键入:git init
  4. 这个命令把整个“git-test”文件夹都纳入版本控制系统的管理范围,怎么确定呢?你看看“git-test”底下是否有一个隐藏的“.git”文件夹?这就是repository的核心所在。如果把它删除了,版本控制就不存在了,跟一般的文件夹无异
  5. 不少人误认为“git-test”就是repository了,稍后你会发现,这个“.git”文件夹才是repository的真身;“git-test”实际上是混合了repository和working copy

新增一个文件到Repository

哪些文件需要、不需要版本控制,必须由我们手动控制,Git是不会自动把所有“git-test”里的东东全都加入“.git”里边的。

  1. 我们先建立一个纯文字文档:echo hello world > readme.txt
  2. 键入git status查看working copy下的文件状态:你会发现readme.txt被列入到“Untracked files”的清单里了
$ git status
On branch master

No commits yet

Untracked files:
(use "git add <file>..." to include in what will be committed)

        readme.txt

nothing added to commit but untracked files present (use "git add" to track)
  1. 接着把这个readme.txt复制到Git的staging area(中转区域):git add readme.txt
  2. 注意:Staging area并不是最终的库:它是一个可提存、没有版本记录的中转区域
  3. 好了,现在将staging area的内容推送到版本库:git commit -m "this is my first comment",这会反馈相关修改的详细信息
$ git commit -m "this is my comment"
[master (root-commit) 93fa392] this is my comment
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 readme.txt
  1. 怎么知道commit成不成功?键入git log查看修改记录
  2. 还不相信吗?手动删除readme.txt,然后键入:git checkout .
  3. 看!readme.txt又回来了!

修改文件

这跟新增一个文件差不多,除了可以在修改后用git add readme.txt把readme.txt复制到staging area,还可以在commit的同时一并把所有已加入追踪的文件加入staging area,然后保存到仓库。

  1. 在readme.txt的结尾追加一行日期和时间:date >> readme.txt
  2. 查看一下最新的内容:cat readme.txt,看见刚才追加的日期和时间咯
$ cat readme.txt
hello world
2017122820:18:48
  1. 将所有已加入追踪的文件拷到staging area,然后提交更改:git commit -a -m "appended date and time"
$ git commit -m "appended date and time"
[master 8d43e8c] appended date and time
1 file changed, 1 insertion(+)

查看修改记录

  • 如果想看修改记录,键入git log
$ git log
commit 8d43e8ccee8ca69134dc7584676055990d962ff5 (HEAD -> master)
Author: Freedigits <clarke@justore.tech>
Date:   Thu Dec 28 20:20:32 2017 +0800

    appended date and time

commit 6cf83d8e177c0d57ce8def96f01054ed52bbc145
Author: Freedigits <clarke@justore.tech>
Date:   Thu Dec 28 20:03:45 2017 +0800

    this is my comment
  • 只看上一次的修改记录:git log -1
$ git log -1
commit 8d43e8ccee8ca69134dc7584676055990d962ff5 (HEAD -> master)
Author: Freedigits <clarke@justore.tech>
Date:   Thu Dec 28 20:20:32 2017 +0800

    appended date and time
  • 细看修改文件列表:git log -1 --stat
$ git log -1 --stat
commit e38040d46925657acc1a37cb881ccc04b0d2acd0 (HEAD -> master)
Author: Freedigits <clarke@justore.tech>
Date:   Thu Dec 28 20:20:32 2017 +0800

    appended date and time

readme.txt | 1 +
1 file changed, 1 insertion(+)
  • 对比上一次修改的内容:git diff HEAD HEAD^
$ git diff HEAD HEAD^
diff --git a/readme.txt b/readme.txt
index f9a399c..3b18e51 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1,2 +1 @@
hello world
-2017122820:18:48

重新命名或移动文件

这个简单:git mv readme.txt README.md,然后提交。

$ git mv readme.txt README.md && git commit -am "renamed to markdown type"
[master 5da4fac] renamed to markdown type
 1 file changed, 0 insertions(+), 0 deletions(-)
 rename readme.txt => README.md (100%)

删除文件

键入git mv readme.txt README.md,然后提交。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值