一、GIT创建版本库基本命令

来源:互联网 发布:淘宝买家退货率高 编辑:程序博客网 时间:2024/05/20 08:43

参考文章:
https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013743256916071d599b3aed534aaab22a0db6c4e07fd0000

一、版本库的理解

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

就好比.git文件是其所在目录的监控,任何文件的增删改都会被监视、跟踪,从而进行管理。

简单理解版本库就是本地包含.git文件的一个目录,如下图

这里写图片描述


创建本库

总共分两步:

  • 第一步:选择本地需要的位置建一个空目录
renawu@MININT-EB6G7RN MINGW64 /e/test-material$ mkdir learngit  #创建一个空目录renawu@MININT-EB6G7RN MINGW64 /e/test-material$ cd learngit  #进入到空目录中renawu@MININT-EB6G7RN MINGW64 /e/test-material/learngit$ pwd  #显示当前目录/e/test-material/learngit
  • 第二步:把/e/test-material/learngit变成一个Git可以管理的仓库
renawu@MININT-EB6G7RN MINGW64 /e/test-material/learngit$ git init  #初始化目录Initialized empty Git repository in E:/test-material/learngit/.git/

完成后,/e/test-material/learngit下会多一个.git目录,此目录用来跟踪管理版本库,不要随便更改里边的文件

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

renawu@MININT-EB6G7RN MINGW64 /e/test-material/learngit (master)$ ls -ah  #显示隐藏的文件./  ../  .git/

进入第三步前先将需要管理的文件拷贝到版本库中(/e/test-material/learngit)

  • 第三步:用命令git add把文件添加到仓库中
renawu@MININT-EB6G7RN MINGW64 /e/test-material/learngit (master)$ git add README.txt

执行以上命令不会有任何操作,这是对的,Unix的哲学是“没有消息就是好消息”,说明添加成功。

用命令git status可以查看仓库状态

renawu@MININT-EB6G7RN MINGW64 /e/test-material/learngit (master)$ git status  #查看状态命令On branch masterNo commits yetChanges to be committed:  (use "git rm --cached <file>..." to unstage)        new file:   README.txt  #add后是绿色的,没有add是红色
  • 第四步:用命令git commit把文件提交到仓库中
renawu@MININT-EB6G7RN MINGW64 /e/test-material/learngit (master)$ git commit -m 'wrote a readme file'  #-m 后是对本地提交的说明[master (root-commit) 6b90642] wrote a readme file 1 file changed, 2 insertions(+)  #成功后提示1个文件被改动(添加的readme.txt文件),插入了两行(readme.txt里有两行内容) create mode 100644 README.txt

问题:为什么git添加文件需要执行add和commit两步呢?
因为commit一次可以提交多个文件,所有可以add多次,执行一次commit,例如在仓库里新增了三个文件

$ git statusOn branch masterUntracked files:  (use "git add <file>..." to include in what will be committed)        file1.txt  #此时的显示颜色是**红色**        file2.txt        file3.txt
renawu@MININT-EB6G7RN MINGW64 /e/test-material/learngit (master)$ git add file1.txtrenawu@MININT-EB6G7RN MINGW64 /e/test-material/learngit (master)$ git add file2.txt file3.txtrenawu@MININT-EB6G7RN MINGW64 /e/test-material/learngit (master)$ git statusOn branch masterChanges to be committed:  (use "git reset HEAD <file>..." to unstage)        new file:   file1.txt  #此时颜色是绿色的        new file:   file2.txt        new file:   file3.txtrenawu@MININT-EB6G7RN MINGW64 /e/test-material/learngit (master)$ git commit -m "wrote 3 files"[master 888d59a] wrote 3 files 3 files changed, 0 insertions(+), 0 deletions(-)  #提交了3个文件,3个文件是空的,无增无减 create mode 100644 file1.txt create mode 100644 file2.txt create mode 100644 file3.txt

附图

这里写图片描述