克隆下仓库
1
| $ git clone git@github.com:{username}/{repository}.git
|

显示工作目录状态
- 当前分支是哪个
- 自上次提交以来,哪些文件被修改了(modified)
- 哪些文件是新的(untracked),即还没有加入到 Git 版本控制中
- 哪些文件当前被暂存(staged),即将被提交

提交
1
| $ git add hello_world.php
|
1
| $ git commit -m "Add hello world script by php"
|
- git add 加入暂存区
- git commit 提交

查看提交日志

1
| $ git log --pretty=short
|




进行PUSH更新仓库

初始化仓库

提交保存仓库的历史记录
1
| $ git commit -m "First commit"
|
- 提交详细信息
- 第一行:用一行文字简述提交的更改内容
- 第二行:空行
- 第三行以后:记述更改的原因和详细内容
(井号)标为注释的内容,不需要更改和删除
:qa
编辑器终止提交

查看工作树和暂存区的差别
- 查看工作区(还没有add和commit)与暂存区的差别(没有差别不显示)


显示分支一览表

创建、切换分支
1
| $ git checkout -b feature-A
|



分支类型
- 特性(Topic)分支
- 集中实现单一特性(主题)
- 除此之外不进行任何作业的分支
- 主干分支
- 通常是master分支为主干分支
- 特性分支的原点,也是合并的终点
1
| $ git merge --no-ff feature-A
|


更改提交
1
| $ git reset --hard {目标时间点的哈希值}
|
- 回溯到目标时间点(哈希值,通过
git log
取得)

1
| $ git merge --no-ff fix-C
|
- 推进历史
- 发生了冲突,不解决冲突就无法完成合并
- 做出修改即可



修改提交信息

压缩历史
- 创建feature-C分支
$ git checkout -b feature-C
- 提交文件
$ git commit -am "Add feature-C”
- 修改错误(使用
$ git diff
进行修正)(错误漏字等失误统称typo
)

- 不希望在历史记录中看到失误类的提交,更改历史
- 选定当前分支中包含HEAD(最新提交)在内的两个最新历史记录为对象,进入编辑器修改

可以看到没有Fix Typo(这个已经合并到Add feature-D,而且Add feature-D的哈希值已经被修改)

获取远程仓库
1
| $ git clone git@github.com:github-book/git-tutorial.git
|

默认是master分支
remotes/origin/feature-D
证明我们的远程仓库中已经有了feature-D 分支

1
| $ git checkout -b feature-D origin/feature-D
|
- 获取远程的feature-D分支
-b
本地仓库中新建分支的名称


1
| git pull origin feature-D
|
