#第四章 通过实践操作 学习Git
4.1 基本操作
- git init---初始化仓库
$ mkdir git-tutorial
$ cd git-tutorial
$ git init
Initialized empty Git repository in /Users/hirocaster/github/github-book
/git-tutorial/.git/
执行了 git init命令的目录下就会生成 .git 目录。这个 .git 目录里存储着管理当前目录内容所需的仓库数据。
- git status——查看仓库的状态
$ git status
# On branch master
#
# Initial commit
#
nothing to commit (create/copy files and use "git add" to track)
稍加改变后
$ touch README.md
$ git status
# On branch master
#
# Initial commit
## Untracked files:# (use "git add <file>..." to include in what will
be committed)#
# README.md
nothing added to commit but untracked files present (use "git add" to
track)
- git add——向暂存区中添加文件
$ git add README.md
$ git status
# On branch master
#
# Initial commit
#
# Changes to be committed:
# (use "git rm --cached <file>..." to unstage)
#
# new file: README.md
#
可以明显的看到状态的变化
- git commit——保存仓库的历史记录
-记述一行提交信息
$ git commit -m "First commit"
[master (root-commit) 9f129ba] First commit
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 README.md
-m 参数后的 "First commit"称作提交信息,是对这个提交的
概述。
-记述详细提交信息
● 第一行:用一行文字简述提交的更改内容
● 第二行:空行
● 第三行以后:记述更改的原因和详细内容
- 查看提交后的状态
$ git status
# On branch master
nothing to commit, working directory clean
- git log——查看提交日志
$ git log
commit 9f129bae19b2c82fb4e98cde5890e52a6c546922
Author: hirocaster <hohtsuka@gmail.com>
Date: Sun May 5 16:06:49 2013 +0900
First commit
不妨养成这样一个好习惯:在执行 git commit命令之前先执行git diff HEAD命令,查看本次提交与上次提交之间有什么差别,等确认完毕后再进行提交。这里的 HEAD 是指向当前分支中最新一次提交的指针。
4.2 分支的操作
通过灵活运用分支,可以让多人同时高效地进行并行开发。
- git branch——显示分支一览表
$ git branch
* master
git checkout -b——创建、切换分支
切换到 feature-A 分支并进行提交
git branch——显示分支一览表
- 切换回上一个分支
$ git checkout -
Switched to branch 'feature-A'
- 特性分支
特性分支顾名思义,是集中实现单一特性(主题),除此之外不进
行任何作业的分支。
- git merge——合并分支
$ git merge --no-ff feature-A
4.3 更改提交的操作
- git reset——回溯历史版本
- 要让仓库的 HEAD、暂存区、当前工作树回溯到指定状态,需要用
到 git rest --hard命令。
- 创建 fix-B 分支
$ git checkout -b fix-B
Switched to a new branch 'fix-B'
- 使用 git reflog命令,查看当前仓库的操作日志。
- 消除冲突
- git commit --amend——修改提交信息
- git rebase -i——压缩历史
- 修正拼写错误
$ git rebase -i HEAD~2
4.4 推送至远程仓库
- git remote add——添加远程仓库
- git push——推送至远程仓库
- 推送至 master 以外的分支
$ git checkout -b feature-D
$ git push -u origin feature-D
4.5 从远程仓库获取
- git clone——获取远程仓库
- git pull——获取最新的远程仓库分支
- 如果两人同时修改了同一部分的源代码, push 时就很容易发生冲突。所以多名开发者在同一个分支中进行作业时,为减少冲突情况的发生,建议更频繁地进行 push 和 pull 操作。
4.6 帮助大家深入理解 Git 的资料
- Pro Git
[Pro Git]http://git-scm.com/book/zh/v1
[LearnGitBranching]http://pcottle.github.io/learnGitBranching/
[tryGit]http://try.github.io/
网友评论