简介:什么是版本库?
版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。
把文件添加到版本库
1、只能跟踪文本文件的改动
注意:所有的版本控制系统,都只能跟踪文本文件的改动,比如TXT文件,网页,所有的程序代码等等,Git也不例外。版本控制系统可以告诉你每次的改动,比如在第5行加了一个单词“Linux”,在第8行删了一个单词“Windows”。而图片、视频这些二进制文件,虽然也能由版本控制系统管理,但没法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是只知道图片从100KB改成了120KB,但到底改了啥,版本控制系统不知道,也没法知道。
比如: Microsoft的Word格式是二进制格式,因此,版本控制系统是没法跟踪Word文件的改动的,如果要真正使用版本控制系统,就要以纯文本方式编写文件。
2、编码选择 UTF-8编码
中文有常用的GBK编码,日文有Shift_JIS编码,建议使用标准的UTF-8编码,所有语言使用同一种编码,既没有冲突,又被所有平台所支持
3、 window注意事项 不使用Windows自带的记事本编辑任何文本文件
原因: Microsoft开发记事本的每个文件开头添加了0xefbbbf(十六进制)的字符,会导致乱码和正确代码编译报错问题
补救: 用Visual Studio Code
步骤加代码语句
1、先选择一个合适的地方创建一个空目录
打开Git他会默认在c盘凌风文件夹处,先转到仓库 cd D:\GitWarehuose
$ mkdir learngit//新建一个文件夹,命名为learngit
$ cd learngit //仓库目录转到learngit
$ pwd//用于显示当前目录 /Users/michael/learngit
注意: 如果你使用Windows系统,为了避免遇到各种莫名其妙的问题,请确保目录名(包括父目录)不包含中文。
2、通过git init命令把这个目录变成Git可以管理的仓库
$ git init Initialized empty Git repository in /Users/michael/learngit/.git/
此时当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的,千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了, 如果没有看到.git目录,是因为这个目录默认是隐藏的,用ls-ah命令就可以看见
3、编写一个readme.txt文件,内容如下
Git is a good software
Git is a very good
用 vi readme.tet 进入文件编写
放到learngit目录下(子目录也行),因为这是一个Git仓库,其他地方git找不到
编写完成后先Esc保存,然后shift zz退出编写
4、将自己编写的文件放到仓库里
$ git add readme.txt
此时可能出现这个警告 warning: in the working copy of 'readme.tet', LF will be replaced by CRLF the next time Git touches it
出现这个警告的原因解释:有大佬解答
https://blog.youkuaiyun.com/man_zuo/article/details/88651416?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165962141016781790739774%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=165962141016781790739774&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~pc_rank_34-1-88651416-null-null.142^v39^pc_rank_34_1&utm_term=warning%3A%20in%20the%20working%20copy%20of%20readme.tet%2C%20LF%20will%20be%20replaced%20by%20CRLF%20the%20next%20time%20Git%20touches%20it&spm=1018.2226.3001.4187
5、用命令git commit告诉Git,把文件提交到仓库
$ git commit -m "wrote a readme file"
//-m后面输入的是本次提交的说明,建议有意义,输入说明对 自己对别人阅读都很重要,方便从历史记录里找到改动记录
[master (root-commit) eaadf4e] wrote a readme file 1 file changed, 2 insertions(+)
//文件创建成功了的提示,1个文件被改动(我们新添加的readme.txt文件);2 insertions:插入了两行内容
create mode 100644 readme.txt
Git添加文件需要add,commit两步走的原因:commit可以一次提交多个文件,所以可以多次add不同的文件
$ git add file1.txt
$ git add file2.txt file3.txt
$ git commit -m "add 3 files."