Git--概念的理解

Git的安装,和GitHub使用介绍就不写了
可以看廖雪峰的Git教程:
https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

Git简易工作流程

  • git clone 把中央仓库克隆到本地

  • 写完功能,用 git add+文件名, 把文件添加到暂存区,或者用 git add . 把所有修改过的文件添加到暂存区

  • git commit ,或用git commit -m "commit message "提交

  • 可以用 git status 来查看工作目录的状态

  • 提交一次或多次以后,把本地提交用 git push 到中央仓库

  • git log 查看提交记录

项目截图.png

如图这是我的一个本地示例
如果看不到.git文件夹,就需要设置一下显示隐藏文件夹


Git--概念的理解_第1张图片
Git的隐藏目录.png

Git 本地仓库

.git 文件夹就是本地仓库,所有的版本信息都存在这里

Git 工作目录

.git 所在的根目录,就称为Git的工作目录

Git 暂存区

Git--概念的理解_第2张图片
图解暂存区.png

Git的本地仓库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD

git add 过的文件会加入到 index 文件,也就是 暂存区

每个文件可能有四种状态

  • untracked 未跟踪
  • changed/unstaged 已修改
  • staged 已修改并暂存
  • commited 已提交

概念比较枯燥,实际操作一下吧
新建了个.java文件 用git status命令查看下

Git--概念的理解_第3张图片

意思是Demo.java并没有加入版本管理,也就是untracked 状态
git add 加入版本管理,再用 git status命令查看下

文件进入了暂存区,可以提交了
如果这个时候再修改Demo.java文件,用git status命令查看下

Git--概念的理解_第4张图片

发现Demo.java 既在 "Changes to be commited" 的暂存区,又在 "Changes not staged for commit",为何为这样

那是因为add添加进暂存区的不是文件名,而是具体的文件改动内容
理解这点很重要:
add时的改动都被添加进了暂存区,但在add之后的新改动并不会自动被添加进暂存区,
这时如果用git commit提交,那些新的改动并不会被提交

git commit命令提交,再用git status命令查看下

Git--概念的理解_第5张图片

已经提交成功了,可以push

扩展阅读
https://wsgzao.github.io/post/git/
Git Book - https://git-scm.com/book/zh/
git 简明指南 - http://rogerdudler.github.io/git-guide/index.zh.html
常用 Git 命令清单 - http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html
猴子都能懂的 GIT 入门 - http://backlogtool.com/git-guide/cn/
Git 教程 - http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

你可能感兴趣的:(Git--概念的理解)