入门系列 - Git创建版本库

这篇具有很好参考价值的文章主要介绍了入门系列 - 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/

而且在执行完 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.

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

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

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

$ git add read.txt
$ git add test.txt

执行上面的命令,没有任何显示,这就对了,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

注意:作者这里用的是 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

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

编辑 git 配置文件:

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

或者:

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

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

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

如果去掉 –global 参数只对当前仓库有效。文章来源地址https://www.toymoban.com/news/detail-419321.html

到了这里,关于入门系列 - Git创建版本库的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 文章四:版本控制策略 - 穿越时光机:Git版本控制进阶技巧

    开始本篇文章之前先推荐一个好用的学习工具,AIRIght,借助于AI助手工具,学习事半功倍。欢迎访问:http://airight.fun 版本控制是Git的核心功能,它使得开发者可以记录代码的历史变更,并能够在不同版本之间穿梭。在本文中,我们将深入研究Git版本控制的进阶技巧,包括标签

    2024年02月13日
    浏览(38)
  • Git系列文章目录 - Git 子模块git submodule使用

    项目中有时会遇到会涉及子模块的使用,比如 flatpak 项目包含多个子模块。 进入需要添加子模块的目录,一般是项目根目录。 删除子模块目录及源码: 删除项目目录下.gitmodules文件中子模块相关条目: 删除配置项中子模块相关条目: 删除模块下的子模块目录: 清除子模块

    2024年01月20日
    浏览(42)
  • 【spring authorization server系列教程】(一)入门系列,spring authorization server简介。快速构建一个授权服务器(基于最新版本0.3.0)

    【spring authorization server系列教程】(一)入门系列,快速构建一个授权服务器 spring authorization server是spring团队最新的认证授权服务器,之前的oauth2后面会逐步弃用。不过到现在发文的时候,我看到官网已经把之前oauth2仓库废弃了。 现在spring authorization server已经到生产就绪阶段了

    2024年02月05日
    浏览(41)
  • DevOps系列文章之 Git知识大全

    常用命令   其他参数 --inital-branch 初始化的分支 --bare 创建一个裸仓库(纯 Git 目录,没有工作目录) --template 可以通过模板来创建预先建好的自定义 git 目录   用户名配置 git config --global user.name \\\"yourname\\\" git config --global user.email yourname@xx.com instead of 配置 git config --global url.git

    2024年02月16日
    浏览(25)
  • 区块链入门系列文章—solidity中的HelloWord

    本系列教程将从零开始记入笔者学习区块链的过程,欢迎批评指正。 Solidity 的代码都涵盖在智能合约里面. 一个智能合约就是以太坊应用的最小单元, 所有的变量和函数都属于一个智能合约, 它是你所有应用的起点。 代码如下(示例): pragma solidity ^0.4.19; 0.4.19代表的是你使

    2024年02月02日
    浏览(50)
  • DevOps系列文章 之 Java使用jgit管理git仓库

    最近设计基于gitops新的CICD方案,需要通过java读写git仓库,这里简单记录下。 在jgit中,存在最核心的三个组件:Git类,Repository类。Git类中包含了push commit之类的常见git操作,而Repository则实现了仓库的初始化和基本的管理功能。 Git类的实例都会持有一个Repository实例。 Repositor

    2024年02月12日
    浏览(28)
  • API 渗透测试从入门到精通系列文章(下)

    导语:在本系列文章的前面一部分我们从使用 Postman 开始,创建了集合和请求,并通过 Burp Suite 设置为了 Postman 的代理,这样我们就可以使用 Burp 的模糊测试和请求篡改的功能。 在本系列文章的前面一部分我们从使用 Postman 开始,创建了集合和请求,并通过 Burp Suite 设置为了

    2024年02月03日
    浏览(44)
  • FPGA入门系列(1)产品选型(一篇文章弄懂FPGA不同系列)

    Xilin的FPGA芯片可以分为多个系列,我们常见的7系列、UltraScale、UltraScale+。 根据不同的工艺可以划分为45nm、28nm、20nm、16nm,可以划分为: 特别的在这些系列之外,还有ZYQN。这个系列主要的特点是在具备FPGA功能外,还额外封装了一个处理器,比较的常见的是ZYNQ-7000系列,便宜

    2024年04月14日
    浏览(50)
  • 文章一:SVN入门指南 - 版本控制新手的第一步

    概述:在本篇文章中,我们将介绍版本控制的基本概念和SVN的基础知识。从安装和配置SVN开始,逐步学习仓库创建、提交、更新等基本操作,让您快速入门SVN版本控制。 1. 引言 在软件开发过程中,版本控制是必不可少的工具。它允许开发团队对代码进行有效管理,记录代码

    2024年02月13日
    浏览(48)
  • 【AI创作】用AI创作助手写的文章--提问Git系列

    Git 是一种分布式版本控制系统,它通过记录文件的变化来管理文件版本,可以保存文件的历史记录并支持多人协作开发。 以下是 Git 的基本概念和使用方式: 仓库(Repository):Git 仓库就是存放代码的地方,可以理解为一个文件夹。 Git 支持本地仓库和远程仓库,本地仓库是

    2024年02月06日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包