廖雪峰git教程-第一课-创建版本库

本文详细介绍了如何使用Git进行版本控制,包括创建repository、添加文件至版本库等基本操作,并提供了gitadd与gitcommit命令的使用说明。

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

廖神写的git学习资料网站:
https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013743256916071d599b3aed534aaab22a0db6c4e07fd0000

说明:该网站上的教程都是针对命令行操作的,这可能跟我们平时把项目托管到github上,然后clone下来进行更改再提交的操作有差异。

这节课内容:

1.创建自己的repository

    最好自己新建一个目录,然后在这个目录下创建自己的仓库,添加自己的代码。(注意:git只能管理,追踪文本形式的代码文件,推荐不要用windows自带的记事本编写代码,因为windows记事本的开发者在每个文件开头添加了0xefbbbf(十六进制)的字符,以后可能会遇到奇怪的Bug,推荐使用Notepad++或则sublime text编辑文本文件)**此外,文本文件的编码统一设置为utf-8。**

命令如下:

1. mkdir your_repository_path
2. git init # 当前目录下会出现.git目录,用来跟踪管理版本库的,不要去修改

2 . 把文件添加到版本库
git只能追踪文本文件的改动,比如说txt文件,网页,程序代码等,git可以记录代码每次的改动,哪些行是新增的,哪些行是删除的等等,可以在github上以网页的形式查看,很方便

假如我在本地写了一个文档,为readme.txt,内容如下:

TangShengqin is a cool boy!

当然,这个文档放在之前创建的目录下,比如说learngit,因为在这个目录下才有.git。把文件放到git仓库需要以下步骤:
第一步,用git add命令告诉git,把文件添加到仓库。

git add readme.txt

执行上面的命令,没有任何显示,这就对了,Unix的哲学是“没有消息就是好消息”,说明添加成功。对某个文件使用了git add命令之后,这个文件就可以被git追踪和管理了。
此外,可以多次使用命令git add file命令,添加多个文件。
第二步,用命令git commit告诉Git,把文件提交到仓库:

git commit -m "wrote a readme file"

使用git add,只是把文件添加到了暂存区,关于为什么要先add,再commit,可以参考知乎链接

到这里,你所做的修改已经commit到本地仓库了。如果,你想把本地的仓库托管在github上,那么你还需执行以下的命令:

git push

git push 的功能就是:将本地仓库修改推送到服务器上的仓库中。

扩展命令:

git add -A # 提交所有变化(包括新增,删除,修改)

关于git add -A的参考

git commit -a # git commit -a 相当于运行 git add 把所有当前目录下的文件加入暂存区域再运行git commit.

关于git commit -a的理解

查看哪些文件被git所管理控制:

git ls-files

使用 git add 将文件添加到缓冲区(staging area)了,现在想反过来查看缓冲区内有哪些文件,如果是这样的话,使用 git status 可能无法达到你的目的,官方文档如下:

The git status command can be used to obtain a summary of which files have  changes that are staged for the next commit.

意思是:git status 只能查看缓冲区内哪些文件发生了变化,若其中没有文件发生变化,就无法查看缓冲区内有哪些文件(哪些文件曾被 add 过)。

假如你在本地有个文档,还未完善或则是只想自己看,不想提交到仓库中被Git所管理,那么可以编辑.gitignore,将文件名添加到.gitignore中:

.gitignore 配置文件用于配置不需要加入版本管理的文件,配置好该文件可以为我们的版本管理带来很大的便利,以下是个人对于配置 .gitignore 的一些心得。

下面是一些.gitignore的编写规则:

1、配置语法:

  以斜杠“/”开头表示目录;

  以星号“*”通配多个字符;

  以问号“?”通配单个字符

  以方括号“[]”包含单个字符的匹配列表;

  以叹号“!”表示不忽略(跟踪)匹配到的文件或目录;

  

  此外,git 对于 .ignore 配置文件是按行从上到下进行规则匹配的,意味着如果前面的规则匹配的范围更大,则后面的规则将不会生效;

2、示例:

  (1)规则:fd1/*
      说明:忽略目录 fd1 下的全部内容;注意,不管是根目录下的 /fd1/ 目录,还是某个子目录 /child/fd1/ 目录,都会被忽略;

  (2)规则:/fd1/*
      说明:忽略根目录下的 /fd1/ 目录的全部内容;

  (3)规则:

/*
!.gitignore
!/fw/bin/
!/fw/sf/

说明:忽略全部内容,但是不忽略 .gitignore 文件、根目录下的 /fw/bin//fw/sf/ 目录;

根目录应该指的是仓库目录,也就是.git所处的那层目录
!感叹号表示不忽略匹配到的文件或目录,后面的目录和文件会被git管理

关于.gitignore的编写和操作还有待确认!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值