天天看点

Git基础-记录每次更新到仓库中-上

概述:

版本控制就是文件跟踪记录的集合,理解每一次记录改变过程

工作目录的每个文件只有两种状态:已跟踪(表示属于git管辖范围)和未跟踪(git未接管范围)

初次克隆都是未修改已跟踪(这里修改是相对于本地)

Git基础-记录每次更新到仓库中-上

我们以上次导入的工程为例进行演示如何操作grit,首先需要切换到工程目录下(grit目录下)

1.检查当前文件的状态:

语法:

$ git status
           

这是工程的路径~/表示当前用户下

[email protected] MINGW64 ~/grit (master)

$ git status
On branch master
Your branch is ahead of 'origin/master' by 8 commits.
  (use "git push" to publish your local commits)
nothing to commit, working tree clean
           

总结:master是我们默认的分支,by 8 commits刚开始修改了提交8次,如果是初次的话这是没有的

2.开始新建文件并写入helloWorld字符串

方式一:用 $ echo 'helloWorld'  > Hello    (就是把‘helloWorld放入Hello文件中’)

方式二:用$ vim Hello, 然后它会弹出文本编辑,按i,输入文字helloWorld , 按Esc(退出编辑模式)按 :wq! (保存退出,注意前面的冒号也是要的)

采用第一种方式:

[email protected] MINGW64 ~/grit (master)
$ echo 'helloWorld' > Hello

[email protected] MINGW64 ~/grit (master)
$ git status
On branch master
Your branch is ahead of 'origin/master' by 8 commits.
  (use "git push" to publish your local commits)
Untracked files:
  (use "git add <file>..." to include in what will be committed)

        Hello

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

总结:这时候我们新增加文件是未跟踪,就是还不属于git管辖

2.跟踪新文件:

语法:

$ git add 文件名
           
[email protected] MINGW64 ~/grit (master)
$ git add Hello
warning: LF will be replaced by CRLF in Hello.
The file will have its original line endings in your working directory.

[email protected] MINGW64 ~/grit (master)
$ git status
On branch master
Your branch is ahead of 'origin/master' by 8 commits.
  (use "git push" to publish your local commits)
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        new file:   Hello

           

总结:现在文件变成暂存状态,保存在暂存区

3.暂存已修改文件

首先查看我们的文件:

语法: 

$ ll
total 59
drwxr-xr-x 1 Administrator 197121    0 六月  6 21:41 '~'/
-rw-r--r-- 1 Administrator 197121 2467 六月  6 20:08 API.txt
-rw-r--r-- 1 Administrator 197121 2964 六月  6 20:08 benchmarks.rb
-rw-r--r-- 1 Administrator 197121  973 六月  6 20:08 benchmarks.txt
drwxr-xr-x 1 Administrator 197121    0 六月  6 20:08 examples/
-rw-r--r-- 1 Administrator 197121 3632 六月  6 20:08 grit.gemspec
-rw-r--r-- 1 Administrator 197121   11 六月  7 09:22 Hello
-rw-r--r-- 1 Administrator 197121 2589 六月  6 21:10 History.txt
drwxr-xr-x 1 Administrator 197121    0 六月  6 20:08 lib/
-rw-r--r-- 1 Administrator 197121 1106 六月  6 20:08 LICENSE
-rw-r--r-- 1 Administrator 197121 1591 六月  6 20:08 PURE_TODO
-rw-r--r-- 1 Administrator 197121 2412 六月  6 20:08 Rakefile
-rw-r--r-- 1 Administrator 197121   13 六月  6 21:34 README
-rw-r--r-- 1 Administrator 197121 6792 六月  6 20:08 README.md
drwxr-xr-x 1 Administrator 197121    0 六月  6 20:08 test/
-rw-r--r-- 1 Administrator 197121   39 六月  6 20:08 VERSION.yml
           

以修改History.txt 文件为例,保存退出

== 0.7.0 / 2008-01-07
== 0.7.0 / 2008-01-07 Hello World
           

输入 git status

$ vim History.txt

[email protected] MINGW64 ~/grit (master)
$ git status
On branch master
Your branch is ahead of 'origin/master' by 8 commits.
  (use "git push" to publish your local commits)
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        new file:   Hello

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   History.txt

           

将History.txt加入暂存区使用git add History.txt

$ git add History.txt

[email protected] MINGW64 ~/grit (master)
$ git status
On branch master
Your branch is ahead of 'origin/master' by 8 commits.
  (use "git push" to publish your local commits)
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        new file:   Hello
        modified:   History.txt

           

4.状态简览

语法 git status -s  (s是short的简写)

[email protected] MINGW64 ~/grit (master)
$ git status -s
A  Hello
M  History.txt
           

总结:A:新增文件 M:修改文件

时间有限,还有一部分下回写