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 在线代码管理

posted @ 2018-01-25 18:05  Bit_bo  阅读(121)  评论(0编辑  收藏  举报