git版本管理 入门学习之一
介绍
1.1 Why Git?
Git 官网 Git 是一个分布式版本控制系统. 它的灵活性, 优越性使得它从2005年发布以来. 获得了越来越多的使用和支持.
什么时候需要用 Git?
- 当你已经成为码农, 或者已经在成为码农的路上;
- 当你觉得代码太多;
- 当你已经开始用日期或版本号命名的代码文件的时候.
1.2 Git 安装
Ubuntu:
sudo apt-get install git-all
2.1 第一个版本库 Repository
创建版本库 (init)
我们先要确定要把哪个文件夹里的文件进行管理. 比如说我桌面上的一个叫 gitTUT 的文件夹. 然后在 Terminal (Windows 的 git bash) 中把当前目录调到这个文件夹 gitTUT, 我的做法是这样:
$ cd ~/Desktop/gitTUT
为了更好地使用 git, 我们同时也记录每一个施加修改的人. 这样人和修改能够对应上. 所以我们在 git 中添加用户名 user.name 和 用户 email user.email:
$ git config --global user.name "Morvan Zhou"
$ git config --global user.email "mz@email.com"
然后我们就能在这个文件夹中建立 git 的管理文件了:
$ git init
# Initialized empty Git repository in /Users/MorvanZhou/Desktop/gitTUT/.git/
因为这个文件夹中还没有任何的文件, 它返回出来一句话告诉我们已经建立了一个空的 git 管理库.
添加文件管理 (add)
通常我们执行 $ ls 就能看到文件夹中的所有文件, 不过 git 创建的管理库文件 .git 是被隐藏起来的. 所以我们要执行这一句才能看到被隐藏的文件:
$ ls -a
# . .. .git
建立一个新的 1.py 文件:
$ touch 1.py
现在我们能用 status 来查看版本库的状态:
$ git status
# 输出
On branch master # 在 master 分支
Initial commit
Untracked files:
(use "git add <file>..." to include in what will be committed)
1.py # 1.py 文件没有被加入版本库 (unstaged)
nothing added to commit but untracked files present (use "git add" to track)
现在 1.py 并没有被放入版本库中 (unstaged), 所以我们要使用 add 把它添加进版本库 (staged):
$ git add 1.py
# 再次查看状态 status
$ git status
# 输出
On branch master
Initial commit
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: 1.py # 版本库已识别 1.py (staged)
如果想一次性添加文件夹中所有未被添加的文件, 可以使用这个:
$ git add .
提交改变 (commit)
我们已经添加好了 1.py 文件, 最后一步就是提交这次的改变, 并在 -m 自定义这次改变的信息:
$ git commit -m "create 1.py"
# 输出
[master (root-commit) 6bd231e] create 1.py
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 1.py
流程图
整个上述过程可以被这张 git 官网上的流程图直观地表现:
…未完待续
2.2 记录修改 (log & diff)
回到从前
3.1 回到从前 (reset)
3.2 回到从前 (checkout 针对单个文件)
分支管理
4.1 分支 (branch)
4.2 merge 分支冲突
4.3 rebase 分支冲突
4.4 临时修改 (stash)
Github
5.1 Github 在线代码管理