当前位置:   article > 正文

入门系列 - Git创建版本库

git创建版本库

在这里插入图片描述

本篇文章,是基于我自用Linux系统中的自定义文件夹“test_rep”,当做示例演示

具体Git仓库的目录在:/usr/local/git/test_rep

Git创建版本库

什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被 Git 管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。

所以,创建一个版本库非常简单,首先,选择一个合适的地方,你可以使用一个已经存在的目录作为仓库,当然新创建一个空目录也可以。

创建一个新的目录仓库这里就不做过多解释了,毕竟操作系统不同,命令也不同。但是有那一点小问题需要说一下,如果你使用 Windows 系统,为了避免遇到各种莫名其妙的问题,请确保目录名(包括父目录)不包含中文。

git init

使用 git init 命令来初始化一个 Git 仓库,Git 的很多命令都需要在 Git 的仓库中运行,所以git init是使用Git的第一个命令。

在执行完成 git init 命令后,Git 仓库会生成一个 .git 目录,该目录包含了资源的所有元数据,其他的项目目录保持不变。这个目录是 Git 来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把 Git 仓库给破坏了。

$ pwd
/usr/local/git/test_rep	#我本机测试的目录位置 Linux系统
$ git init
Initialized empty Git repository in /usr/local/git/test_rep/.git/
  • 1
  • 2
  • 3
  • 4

而且在执行完 git init 命令后,它会告诉你是一个空的仓库提示(empty Git repository)。

另外,如果你没有看到 .git 目录,那是因为这个目录默认是隐藏的,用 ls -ah 命令就可以看见。

git add 与 git commit

首先这里再明确一下,所有的版本控制系统,其实只能跟踪文本文件的改动,比如 txt 文件,网页,所有的程序代码等等,Git 也不例外。版本控制系统可以告诉你每次的改动,比如在第5行加了一个单词“Linux”,在第8行删了一个单词“Windows”。而图片、视频这些二进制文件,虽然也能由版本控制系统管理,但没法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是只知道图片从100KB改成了120KB,但到底改了啥,版本控制系统不知道,也没法知道。所有有时候你会发现 Microsoft 的 Word 文档,它不会记录里面改了哪些,只会记录它这个 word 文档改动了,因为 Microsoft 的 Word 文档是二进制格式。再有,Windows 自带的记事本编辑任何文本文件,有时候也会有问题,比如编码问题。

现在我们编写几个 txt 文件,如下(作者有的 Linux 测试环境):

$ vim read.txt
Git is a version control system.

$ vim test.txt
this is a test file.
  • 1
  • 2
  • 3
  • 4
  • 5

一定要放到 Git 目录下(子目录也行),因为这是一个 Git 仓库,放到其他地方 Git 再厉害也找不到这个文件。

把一个文件放到Git仓库只需要两步,

第一步,用命令git add告诉 Git,把文件添加到仓库:

$ git add read.txt
$ git add test.txt
  • 1
  • 2

执行上面的命令,没有任何显示,这就对了,Linux 说过“没有消息就是好消息”,说明添加成功。

第二步,用命令git commit告诉 Git,把文件提交到仓库:

$ git commit -m 'append two files'
[master (root-commit) 0fdd224] append two files
 2 files changed, 2 insertions(+)
 create mode 100644 read.txt
 create mode 100644 test.txt
  • 1
  • 2
  • 3
  • 4
  • 5

注意:作者这里用的是 Linux 测试环境,所以git commit命令,-m后面用的单引号,那如果您是 Windows 系统,-m后面就应该使用双引号。

简单解释一下git commit命令,-m后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。

嫌麻烦不想输入-m "xxx"行不行?确实有办法可以这么干,但是强烈不建议你这么干,因为输入说明对自己对别人阅读都很重要。实在不想输入说明的童鞋请自行搜索,因为99%的公司要求,需要输入提交说明,需要用到这个参数。

另外,如果你刚才输入了git commit命令并没有得到你预计的效果,有时候提示 Author identity unknown ,那指定是你在这之前没有设置 config 参数,可以跳至文章末尾的参考。

最后,至于为什么 Git 添加文件需要addcommit一共两步呢?因为commit可以一次提交很多文件,所以你可以多次add不同的文件,最后统一commit

几个问题:

Q:输入git add xxx文件,得到错误:fatal: not a git repository (or any of the parent directories)

A:Git 命令必须在 Git 仓库目录内执行(git init除外),在仓库目录外执行是没有意义的。

Q:输入git add xxx文件,得到错误fatal: pathspec 'readme.txt' did not match any files

A:添加某个文件时,该文件必须在当前目录下存在,用ls或者dir命令查看当前目录的文件,看看文件是否存在,或者是否写错了文件名。

我们这里是直接在 Git 仓库中执行的一些操作,所以必要条件,就是一定要在 Git 仓库目录下才行。

Git的配置

git 的设置使用 git config 命令。

显示当前的 git 配置信息:

$ git config --list
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
  • 1
  • 2
  • 3
  • 4
  • 5

返回的信息,你我不一定非要相同,我们返回这个信息的主要目的是为了看看有没有设置提交代码时的用户信息,很明显从上面的信息反馈是没有用户相关信息的。

编辑 git 配置文件:

$ git config -e		#针对当前仓库
  • 1

或者:

$ git config -e --global   #针对系统上所有仓库
  • 1

设置提交代码时的用户信息:

$ git config --global user.name "Lee"
$ git config --global user.email "test@test.com"
#根据自己的要求,设置name和email
  • 1
  • 2
  • 3

如果去掉 –global 参数只对当前仓库有效。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/452351?site
推荐阅读
相关标签
  

闽ICP备14008679号