07. Git 命令实战
初始化仓库并推送到远端
1. 初始化
1 | echo "# MyProject" >> README.md |
2. 然后可以愉快的进行开发了
1 | add . |
3. 进行推送(如果本身已经是 git 仓库了,直接走到第 3 步骤)
1 | # 将本地仓库关联一个远程库 |
1. 初始化
1 | echo "# MyProject" >> README.md |
2. 然后可以愉快的进行开发了
1 | add . |
3. 进行推送(如果本身已经是 git 仓库了,直接走到第 3 步骤)
1 | # 将本地仓库关联一个远程库 |
显式引用和隐式引用用来指代每一次提交。尽管有时两种引用都不方便,但是幸运的是, Git 提供了许多不同的机制来为提交命名,这些机制有各自的优势,需要根据上下文来选择。
显式引用
由于输入一个 40 位十六进制的 SHA1 数字是一项繁琐且容易出错的工作,因此 Git 允许你使用版本库的对象库中唯一的前缀来缩短这个数字。
隐式引用
引用(ref)是一个 SHA1 散列值,指向 Git 对象库中的对象。虽然一个引用可以指向任何 Git 对象,但是它通常指向提交对象。符号引用(symbolic reference) ,或称为 symref,间接指向 Git 对象。它仍然只是一个引用。
本地特性分支名称、远程跟踪分支名称和标签名都是引用。
特殊引用
当手头工作没有完成时,先把工作现场 git stash
一下,然后去修复 bug
–include-untracked 参数可以额外储藏新的未被追踪的文件。
–all 选项将收集所有未跟踪的文件以及在 .gitignore 和 排除文件中明确忽略的文件。
1 | # 更推荐对 stash 加一些注释 |
Git 把 stash 内容存在某个地方了(包含了工作区 和 暂存区的内容),但是需要恢复一下,有两个办法:
git stash apply
恢复,但是恢复后,stash 内容并不删除,你需要用 git stash drop 来删除;git stash pop
,恢复的同时把 stash 内容 pop 出去.按保存时间由近及远的顺序列举出储藏栈。 git stash list
Git 鼓励开发者频繁使用分支,正是因为有着这些特性作保障。Git 是如何知道你当前在哪个分支上工作的呢?其实答案也很简单,它保存着一个名为 HEAD 的特别指针。(译注:将 HEAD 想象为当前分支的别名。)
$ git branch [branch-name]
创建新的分支
$ git branch [-r | --track] [本地分支名] [远程仓库名]/[远程分支名]
创建追踪分支
$ git branch
查看所有分支
$ git branch -a
查看当前的版本库当中有哪些分支, 包含远程仓库的所有分支
$ git branch -r
仅看所有远程分支
$ git branch -v
要查看各个分支最后一个提交对象的信息 (译注:此为 --verbose 的简写,取首字母)
$ git branch -vv
查看当前的本地分支与远程分支的关联关系
$ git branch --merge
查看哪些分支已被并入当前分支(译注:也就是说哪些分支是当前分支的直接上游。一般来说,列表中没有 * 的分支通常都可以用 git branch -d 来删掉。原因很简单,既然已经把它们所包含的工作整合到了其他分支,删掉也不会损失什么。
$ git branch --no-merged
查看尚未合并的工作,它会显示还未合并进来的分支。由于这些分支中还包含着尚未合并进来的工作成果,所以简单地用 git branch -d 删除该分支会提示错误,因为那样做会丢失数据, 过,如果你确实想要删除该分支上的改动,可以用大写的删除选项 -D 强制执行
这份文档是 Google Java 编程风格规范的完整定义。当且仅当一个 Java 源文件符合此文档中的规则, 我们才认为它符合 Google 的 Java 编程风格。
与其它的编程风格指南一样,这里所讨论的不仅仅是编码格式美不美观的问题, 同时也讨论一些约定及编码标准。然而,这份文档主要侧重于我们所普遍遵循的规则, 对于那些不是明确强制要求的,我们尽量避免提供意见。
在本文档中,除非另有说明:
@interface
)其他的术语说明会偶尔在后面的文档出现。