git教程及在android studio中的使用(五):将文件纳入git管理和提交更改至本地仓库

查看本地仓库状态

我们新建了一个文件夹MyProject,并用git init命令使该项目纳入git管理。git status 命令用来查看当前仓库所处的状态。

$ git status

On branch master

No commits yet

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

git提示我们,目前该仓库未提交过任何更改(No commits yet),可创建或复制文件到工作区,然后使用`git add`命令追踪它(纳入git管理)。

将文件纳入git管理

在工作区新创建一个文件后,该文件并不会自动纳入git管理,它属于未追踪状态(untracked)。我们新建一个about_me.log文件,然后使用git status看一下当前仓库的状态。

$ git status

On branch master

No commits yet

Untracked files:
  (use "git add <file>..." to include in what will be committed)

	about_me.log

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

git提示我们,about_me.log属于未追踪的文件(未纳入git管理),使用git add命令追踪它。

我们按照git的指示追踪它,

$ git add about_me.log

再看一下仓库状态,

$ git status

On branch master

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)

	new file:   about_me.log

git提示我们有可以提交的更改:创建了新文件about_me.log

提交更改到本地仓库

git commit命令用于提交更改到本地仓库。

$ git commit

git会启用文本编辑器供你编写对本次提交的描述信息。如果你配置过文本编辑器(git config core.editor),则启用你配置的编辑器,如果没有配置过,则启用系统默认的文本编辑器。

以vim编辑器为例,我们编辑完信息后,esc键盘退出编辑状态,然后输入:wq保存并退出即可。

$ git commit

[master (root-commit) a6c29a6] create a new file named about_me.log
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 about_me.log

git提示我们提交成功。

看一下仓库状态,

$ git status

On branch master
nothing to commit, working tree clean

工作区是干净的。

另外,我们可以通过-m修饰符直接指定文本描述信息,而跳过使用文本编辑器。

 git commit -m 'create a new file named about_me.log'

现在我们修改一下about_me.log文件,增加一句话:Hello,I'm zhiqiang.zhu!

看一下仓库状态,

$ git status

On branch master
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:   about_me.log

no changes added to commit (use "git add" and/or "git commit -a")

git commit命令每次都将暂存区(staged area)的更改提交到本地仓库。也就是说工作区发生的更改首先要暂存(staged)到暂存区,才能被commit到本地仓库。

当我们创建一个文件,使用git add追踪它后,git会把它纳入git管理并暂存到暂存区。这个文件之后的更改不会自动暂存,需要我们使用git add 命令暂存。也就是说git add有两个作用,对于未追踪的文件会追踪+暂存它的初态,对于已追踪的文件会暂存其更改。

现在,我们把about_me.log的更改存入暂存区,

$ git add about_me.log

看一下仓库状态,

$ git status

On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

	modified:   about_me.log

git提示我们有可提交的更改,提交一下。

$ git commit -m 'introduce myself'

[master bbe9e33] introduce myself
 1 file changed, 1 insertion(+)

看一下仓库状态,

$ git status

On branch master
nothing to commit, working tree clean

如果你不想每次提交前都进行暂存操作,可以为commit命令添加-a修饰符,git会先暂存工作区所有已追踪文件的更改,然后再将暂存区的更改提交至本地仓库。例如,我们在about_me.log里添加一句话:My favorite fruit is banana.

然后直接提交更改,

$ git commit -a -m 'add my favorite fruit'

[master 29056b3] add my favorite fruit
 1 file changed, 2 insertions(+), 1 deletion(-)

查看commit记录

git用户commit暂存区的更改后都会产生一条提交记录,git log命令可以查看提交记录,最新的记录位于最前面。

$ git log

commit 29056b32833cb9e9867da806f089c7692c70ab6b (HEAD -> master)
Author: zhiqiang.zhu <zhiqiang.zhu@partner.bmw.com>
Date:   Wed Apr 22 17:31:15 2020 +0800

    add my favorite fruit

commit bbe9e33b3903f41d1add43dd166db96311ba3d0d
Author: zhiqiang.zhu <zhiqiang.zhu@partner.bmw.com>
Date:   Wed Apr 22 16:22:22 2020 +0800

    introduce myself

commit a6c29a6712151ab8b9cf9c095faddf6d47fc6a91
Author: zhiqiang.zhu <zhiqiang.zhu@partner.bmw.com>
Date:   Wed Apr 22 14:56:36 2020 +0800

    create a new file named about_me.log

每一条记录,都有一个commit id作为其标志,Author为git用户的信息(用户名和邮箱),Date为记录产生的时间,下面就是本次提交的信息描述。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Vincent(朱志强)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值