关于git的基本理解
git:一种分布式版本控制系统
git保存的是每一次改动,而不是文件本身。
git有三个区:
工作区(Working Directory)
这个区就是你在电脑上创建项目的地方,文件的编辑修改都在这个区中进行。
暂存区(Stage Area)
暂存区存放的是待提交到repo的修改,当你使用git add命令时,就是把工作区的修改添加到暂存区。
版本库/仓库(Git Directory/Repository)
每次使用git commit命令,就是把暂存区中的内容全部提交到repo中。
关于分支:
新建分支默认是master。
master分支应该是一个稳定的,可用的应用,平时不在这个分支上工作。
当要添加新功能时,可从master分支新建一个分支,如feature分支,当新功能完成时,再合并到master分支上,这样,master分支始终是稳定可用的。
多人合作时,可以每个人在各自的分支上工作,时不时合并到同一个分支上,当功能完善时,再合并到master分支。
分支之间大概是这种感觉(假设A、B两个人开发):
当master分支上的应用出现bug时,可以在master分支上新建一个bug分支,如issue-101,修复bug后再合并到master分支上,然后删除bug分支。
基本流程
假设你已经安装了git
以下考虑最基本的git使用流程,开发时遇到的情况很多,以下流程暂不列出删除、撤销、回退的步骤,后面再单独列出来。
暂不考虑多人合作与远程repo,后面再补充,因为了解了怎么自己玩git,也就明白怎么跟基友一起玩github了。
因此以下流程都是在本地进行,跟github啥的暂时没什么关系。
新建repo->修改文件->添加修改到暂存区->提交修改到repo->创建分支->修改文件->添加修改到暂存区->提交修改到repo->合并分支->解决冲突
创建bug分支->修复bug->合并分支
流程步骤
新建repo
在项目根目录下使用git init
初始化git仓库
修改文件
我们在项目目录下新建一个hello.txt文件,里面输入内容hello world
(注意不要用Windows自带的记事本创建、编辑)
然后输入git status
,会看到输出了这些信息:
On branch master
Initial commit
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)
这边git提示我们有一个Untracked file,可以用git add <file>
来添加要提交的文件。
添加修改到暂存区
按照提示,我们输入git add hello.txt
把文件添加到暂存区(使用git add .
添加更改过的全部文件)
再次输入git status
,这次看到输出信息:
On branch master
Initial commit
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: hello.txt
hello.txt已经被存放到暂存区了
提交修改到repo
使用git commit -m 'add hello.txt'
来提交这个文件的更改
输出信息:
[master (root-