Git相关概念1

版本库:

.git隐藏文件夹就是版本库,在里面可以进行git的基本信息配置,日志,文件版本信息等.
这个版本库是不需要我们进行操作的.由git自动执行

工作目录(工作区):

包含.git文件的目录就是工作目录,主要用于存放开发的代码

暂存区:

.git文件中有很多文件,其中有一个index文件就是暂存区,也可以叫做stage,暂存区是一个临时保存修改文件的地方.
在这里插入图片描述
每次修改我们的代码,首先就是将代码加载到index中,然后才能提交.
图形化效果
在这里插入图片描述

Git工作目录下的文件的两种状态

Git工作目录下的文件存在两种工作状态:

  • untracked 未跟踪(未被纳入版本控制)
    没有被git管理
  • tracked 已跟踪(被纳入版本控制)
    被git管理
    被管理后有三种状态
    Unmodified 未修改状态
    Modified 已修改状态
    Staged 已暂存状态
    一个git项目刚被导入本地,那么就是Unmodified,如果修改了其中的某一块,那么就进入Modified,而Modified 又会进入Staged中.文件的状态,会随着我们呢的命令发生变化.

工作目录下的每一个文件都会对应一种状态.

本地仓库的操作

查看本地状态

git status

这个命令需要在工作目录下执行,否则会报错.
在这里插入图片描述


Andrewer@CaesarGattuso MINGW64 /d/BaiduNetdiskDownload/gitRepository
$ git status
fatal: not a git repository (or any of the parent directories): .git

Andrewer@CaesarGattuso MINGW64 /d/BaiduNetdiskDownload/gitRepository
$

进入工作目录

Andrewer@CaesarGattuso MINGW64 /d/BaiduNetdiskDownload/gitRepository
$ cd repo1

然后在执行会弹出工作目录所有文件当前状态

Andrewer@CaesarGattuso MINGW64 /d/BaiduNetdiskDownload/gitRepository/repo1 (master)
$ git status
On branch master//当前开发  处于master分支,这是一个默认的分支,只要我们创建仓库之后,就会一个master分支

No commits yet //当前工作目录中没有文件....

nothing to commit (create/copy files and use "git add" to track)

Andrewer@CaesarGattuso MINGW64 /d/BaiduNetdiskDownload/gitRepository/repo1 (master)

转入test01工作目录
在这里插入图片描述

Andrewer@CaesarGattuso MINGW64 /d/BaiduNetdiskDownload/gitRepository/repo1 (master)
$ cd ..

Andrewer@CaesarGattuso MINGW64 /d/BaiduNetdiskDownload/gitRepository
$ cd test01

/d/BaiduNetdiskDownload/gitRepository/test01 (master)
$ git status
On branch master

No commits yet

Untracked files:// 未跟踪状态 
  (use "git add <file>..." to include in what will be committed)
        hello.txt

nothing added to commit but untracked files present (use "git add" to track)

Andrewer@CaesarGattuso MINGW64 /d/BaiduNetdiskDownload/gitRepository/test01 (master)
$

也可以使用

git status -s

使消息更加简洁

??不是乱码,表示当前未跟踪

Andrewer@CaesarGattuso MINGW64 /d/BaiduNetdiskDownload/gitRepository/repo1 (master)
$ git add hellow.txt

输入add命令添加hellow.txt进入Staged状态

Andrewer@CaesarGattuso MINGW64 /d/BaiduNetdiskDownload/gitRepository/repo1 (master)
$  git status -s
A  hellow.txt

Andrewer@CaesarGattuso MINGW64 /d/BaiduNetdiskDownload/gitRepository/repo1 (master)


同时,可以使用reset取消暂存

Andrewer@CaesarGattuso MINGW64 /d/BaiduNetdiskDownload/gitRepository/repo1 (master)
$ git reset  hello.txt
Unstaged changes after reset:
D       hellow.t
git commit -m//提交命令,这里的-m表示message,每次提交记录的日志信息
$ git commit -m "init"  //初始化所有文件

在这里插入图片描述
红色M表示已修改但是未加入暂存区,add后进入Staged状态,后M变为绿色
如果不加-m参数的话,每次执行完成后会默认打开一个编辑器,然后将信息写入编辑器中

//就是这样子的编辑器
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# On branch master
# Changes to be committed:
#       modified:   hello.txt
#
# Changes not staged for commit:
#       deleted:    hellow.txt
#

输入一个I,后底框会出现一个insert字符,表示进入插入模式,在这种模式下就可去写日志信息了
在这里插入图片描述
日志信息可以随便写
在这里插入图片描述
esc 推出
:wq保存
回车保存后就会跳回

删除文件

Andrewer@CaesarGattuso MINGW64 /d/BaiduNetdiskDownload/gitRepository/repo1 (master)
$  git rm hello.txt

rm命令操作后默认Staged
需要commit后才会有用

将文件添加至忽略列表 .gitignore

在我们操作代码的过程中,我们所修改的,所使用到的,往往是少数,需要进行跟踪,而在这个过程中,编译器会自动产生大量的临时文件,这种情况下,git
会提醒我们文件未被跟踪,我们可以在工作目录中创建一个名为.gitignore文件(文件名称固定),
从而列出需要忽略的文件
这个文件中的所有文件都是不需要纳入管理的
在这里插入图片描述

Andrewer@CaesarGattuso MINGW64 /d/BaiduNetdiskDownload/gitRepository/repo1 (master)
$  touch .gitignore

windows环境下是无法创建这个文件的,应为windows的语法规则限制,但是可以在git环境中创建
git窗口中模拟的是linux语法规则,应为创始人都是托瓦丝,所以有这个特点

在这里插入图片描述
创建好之后,就可以打开来编辑一下了
在这里插入图片描述
忽略所有class文件
查看效果:

Andrewer@CaesarGattuso MINGW64 /d/BaiduNetdiskDownload/gitRepository/repo1 (master)
$ git status
On branch master
Untracked files:
  (use "git add <file>..." to include in what will be committed)
        .gitignore
        .gitignore.bak

nothing added to commit but untracked files present (use "git add" to track)

这个是比较使用的,在后期会经常用到

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值