Github学习(二)

参考文献


 

廖雪峰老师的官网https://www.liaoxuefeng.com

上面关于git用法的介绍很详细

本片文章是关于文件修改的操作,仅供学习。

 

工作区和暂存区


1.工作区:就是我们开始创建的git;版本库:工作区内的 .git目录,便是版本库了。暂存区:存在与版本库中,称为stage。master是git创建的一个分支。

  • git add命令就是把文件添加到暂缓区;
  • git commit 命令则把暂缓区的内容添加到当前的分支master里面;
  • 简单理解就是,修改的文件都存在暂缓区,然后,一次性提交到master内。

2.修改readme.txt 并常见一个LICENSE文件,内容随意

# 用命令git status查看状态

# git status


位于分支 master
尚未暂存以备提交的变更:
  (使用 "git add <文件>..." 更新要提交的内容)
  (使用 "git checkout -- <文件>..." 丢弃工作区的改动)

    修改:     readme.txt

未跟踪的文件:
  (使用 "git add <文件>..." 以包含要提交的内容)

    LICENSE

修改尚未加入提交(使用 "git add" 和/或 "git commit -a")

# 用git add 命令添加

# git add LICENSE readme.txt

# 再次查看状态

# git status

位于分支 master
要提交的变更:
  (使用 "git reset HEAD <文件>..." 以取消暂存)

    新文件:   LICENSE
    修改:     readme.txt

# 缓存区的状态图

# 接下来执行git commit命令

# git commit -m "understand how stage works"

[master b4bee5e] understand how stage works
 2 files changed, 2 insertions(+)
 create mode 100644 LICENSE

# 查看状态

# git status

位于分支 master
无文件要提交,干净的工作区

# 提交后,状态图如下,缓存区中没有了东西:

 

管理修改


 

证明:Git管理的是修改,而不是文件

# 修改readme.txt,添加下面的内容

Git has a mutable index called stage.
Git tracks changes.

# 添加

# git add readme.txt

# git status

位于分支 master
要提交的变更:
  (使用 "git reset HEAD <文件>..." 以取消暂存)

    修改:     readme.txt

# 然后再修改readme.txt,添加如下的内容:

Git tracks changes of files.

# 提交:

# git commit -m "git tracks changes"

# 提交后再查看状态

# git status

位于分支 master
尚未暂存以备提交的变更:
  (使用 "git add <文件>..." 更新要提交的内容)
  (使用 "git checkout -- <文件>..." 丢弃工作区的改动)

    修改:     readme.txt

修改尚未加入提交(使用 "git add" 和/或 "git commit -a")

# 确实是还有没提交的,这是因为第二次的修改并没有保存进暂存区,所以提交的只是第一次修改的内容。

 

撤销修改


 

# 修改readme.txt,添加下面的内容

My stupid boss still prefers SVN.

# 查看状态

# git status

位于分支 master
要提交的变更:
  (使用 "git reset HEAD <文件>..." 以取消暂存)

    修改:     readme.txt

尚未暂存以备提交的变更:
  (使用 "git add <文件>..." 更新要提交的内容)
  (使用 "git checkout -- <文件>..." 丢弃工作区的改动)  #在这里就提示可以用git checkout readme.txt来撤销改动了。

    修改:     readme.txt

# 执行git checkout readme.txt命令,实践表明确实撤销了改动。

# 另一种情况,当我们把修改后的文件添加到了暂缓区,还未提交:

# git reset HEAD readme.txt  #先撤销在暂缓区的东东,

# git checkout readme.txt  # 再撤销改动

 

删除文件


 

从版本库中删除文件

git rm <file>

git commit -m ""

如果错删,可以这样做:

git checkout --<file>

 

posted on 2018-07-23 16:26  董大志  阅读(137)  评论(0)    收藏  举报

导航