Pull Request 是指开发者在本地对源代码进行更改后,向 GitHub中托管的 Git 仓库请求合并的功能。
GitHub 的 Pull Request 不但能轻松查看源代码的前后差别,还可以对指定的一行代码进行评论。
任务管理和 BUG 报告可以 通过 Issue 进行交互。如果想让特定用户来看,只要用"@ 用户名"的 格式书写,对方便会接到通知(Notifications)。
在 GitHub 上, 用 户 所 有 用 文 字 输 入 的 功 能 都 可 以 用 GitHub Flavored Markdown(GFM)语法进行描述。
将感兴趣的仓库添加至 Watch 中,就可以在 News Feed 查 看该仓库的相关信息。
对于仓库,也可以使用 Watch 功能获取最新的开发信息。
点击右上角工具栏里的 New repository 图标,创建新的仓库。
在 Initialize this repository with a README 选 项 上 打 钩, 随 后 GitHub 会 自 动 初 始 化 仓 库 并 设 置 README 文 件, 让 用 户 可 以 立 刻clone 这个仓库。如果想向 GitHub 添加手中已有的 Git 仓库,建议不要勾选,直接手动 push。
这个设定会帮我们把不需要在 Git 仓库中进行版本管理的文件记录在 .Gitignore文件中。
如果这个仓库中 包含的代码已经确定了许可协议,那么请在这里进行选择。随后将自动生成包含许可协议内容的 LICENSE 文件,用来表明该仓库内容的许可协议。
README.md 文件的内容 会自动显示在仓库的首页当中。因此,人们一般会在这个文件中标明本仓库所包含的软件的概要、 使用流程、 许可协议等信息。
输入 GitHub 上设置的公开密钥的密码。认证成功后, 仓库便会被 clone 至仓库名后的目录中。将想要公开的代码提交至这个仓库再push 到 GitHub 的仓库中,代码便会被公开
还没有添加至 Git 仓库的文件——显示为 Untracked files。
通过 git add命令将文件加入暂存区,再通过 git commit命令 提交。添加成功后,可以通过 git log命令查看提交日志。
实 际 使 用 时, 只 需 将 LICENSE 文 件 加 入 仓 库, 并 在 README. md 文件中声明使用了何种许可协议即可。
执行 push,GitHub 上的仓库就会被更新。
使用 git init命令进行初始化。如果初始化成功,执行了 git init命令的目录下就会生成 .git 目 录。这个 .git 目录里存储着管理当前目录内容所需的仓库数据。在 Git 中,我们将这个目录的内容称为"附属于该仓库的工作树"。
文件的编辑等操作在工作树中进行,然后记录到仓库中,以此管理文件的历史快照。如果想将文件恢复到原先的状态,可以从仓库中调取之前 的快照,在工作树中打开。
git status命令用于显示 Git 仓库的状态, git status命令查看当前状态。
所谓提交 (Commit),是指"记录工作树中所有文件的当前状态"。
要想让文件成为 Git 仓库的管理对象,就需要用 git add命令将其 加入暂存区(Stage 或者 Index)中。暂存区是提交之前的一个临时区域。
git commit命令可以将当前暂存区中的文件实际保存到仓库的历史记录中。通过这些记录,我们就可以在工作树中复原文件。
如果想要记述得更加详 细,请不加 -m,直接执行 git commit。
编辑器中记述提交信息的格式如下:
-
第一行:用一行文字简述提交的更改内容
-
第二行:空行
-
第三行以后:记述更改的原因和详细内容 只要按照上面的格式输入,今后便可以通过确认日志的命令或工具 看到这些记录。
在以 #(井号)标为注释的 Changes to be committed(要提交的更改)栏中,可以查看本次提交中包含的文件。将提交信息按格式记述完毕后,请保存并关闭编辑器,以 #(井号)标为注释的行不必删除。随后,刚才记述的提交信息就会被提交。
如果在编辑器启动后想中止提交,请将提交信息留空并直接关闭编辑器,随后提交就会被中止。
git log——查看提交日志。
显示第一行简述信息,可以在 git log命令后加 上 –pretty = short 。
git log命令后加上目录名,便会只显示该目录下的日志。如果加的是文件名,就会只显示与该文件相关的日志。加上 -p参数,文件的前后差别就会显示在提交信息之后。
get diff命令可以查看工作树、暂存区、最新提交之间的差别。"+"号标出的是新添加的行,被删除的 行则用"-"号标出
用 git add命令将 README.md 文件加入暂存区。在执行 git commit命令之前先执行 git diff HEAD命令,查看本次提交与上次提交之间有什么差别,等确认完毕后再进行提交。这里的 HEAD 是指向当前分支中最新一次提交的指针。
在进行多个并行作业时,我们会用到分支,每个分支中都拥有自己的最新代码。
master分支是 Git 默认创建的分支,因此基本上所有开发都是以这个分支为中心进行的。
git branch命令可以将分支名列表显示,同时可以确认当前所在 分支。
git checkout -b branchName——创建、切换名为branchName的分支。"-"(连字符)代替分支名,就可以切换至上一个分支。
创建分支时,不需要连接中央仓库。
特性分支——集中实现单一特性(主题),除此之外不进行任何作业的分支。
稳定分支的角色通常 由 master 分支担当。
拥有多个版本发 布时,主干分支也有多个。
在历史记录中明确记录下本次分支合并,我们需要创建合并提交。因此,在合并时加上 --no-ff参数。
git log --graph——以图表形式查看分支
要让仓库的 HEAD、暂存区、当前工作树回溯到指定状态,需要用到 git rest --hard命令。只要提供目标时间点的哈希值,就可以完全恢复至该时间点的状态。
哈希值在每个环境中各不相同,读者请查看自身当前环境中 Add index 的哈希值, 进行替换。