美文网首页
Udacity前端开发工程师(入门)25 - 创建和修改代码库

Udacity前端开发工程师(入门)25 - 创建和修改代码库

作者: zhangyage | 来源:发表于2017-08-22 21:34 被阅读0次

    25.0 本课内容

    • 如何将 Git 用于自己计算机上的单独项目
    • 如何新建仓库(repository)并进行提交(commit
    • Git 进行合并和分支以及使用上述工具追踪项目的更改

    25.1 练习初始化仓库

    初始化./创建新的 Git 代码库:git init

    当初始化 Git 代码库的时候, Git并不会自动进行 commit

    Git 要进行提交的时候,并不需要将整个 Git 仓库进行提交,而可以选择性的将文件添加到存储区域,该命令为:git add

    如果你意外地将某个文件添加到暂存区中,可以使用 git reset 删除它。例如,如果你意外地添加了 lesson_2_reflections.txt,但不想提交它,请运行 git reset lesson_2_reflections.txt,此命令会从暂存区中删除该文件,但它仍在你的工作目录中。

    自我们上次再次查看概念图以来,我们引入了一些新概念。

    git init (git 初始化)
    git add (git 添加)
    git status (git 状态)
    staging area (暂存区)
    working directory (工作目录)
    [//]: #(

    image.png )
    [//]: # (This may be the most platform independent comment)

    25.2 写好提交信息

    在将仓库进行提交的时候,需要编写提交信息,以说明所做的更改。可以通过命令行指定提交信息,git commit -m "Commit message"
    设置编辑器仍然是一种好的做法,因为这可更轻松地编写较长的提交信息,以全面说明所做的更改。

    提交信息的风格
    虽然提交信息的风格因人而异,但此风格指南介绍了在编写提交信息时的一些常见最佳做法。

    25.3 再次学习 git diff

    git diff 有了新功能,如下:

    git diff:比较 working directory 以及 staging area
    git diff --staged:比较 staging area 以及 repository 中最新的 commit
    git diff commit1 commit2:比较 repository 中的 commit1commit2

    25.4 分支 Branch

    branch 实际就是 Git 为了操作方便而对 commit 添加的标签(label)。使用 git branch 创建和查看分支。

    直接 git branch 可以显示当前的分支
    而给 git branch 后赋一个参数后,则会新建一个与参数同名的分支: git branch easy-mode

    • 使用 git branch branch_name 创建以 branch_name 命名的 branch
    • 使用 git checkout branch_name 检出以 branch_name 命名的 branch

    上述两条命令可以简单表示成:git checkout -b branch_name

    • 使用 git commit 以提交添加到存储区域的内容。
    • 使用 git log --graph --oneline branch1_name branch2_name 以查看 branch1_namebranch2_name 分支的提交记录。

    25.5 练习合并简单文件(将多个分支中的更改合并到单一版本)

    Git 创建单一版本将多个分支的所有更改包含在内的合并策略。

    Git 根据当前两个 branch 最新的 commit,以及它们 fork 之前的 commit 的记录(即形成分支的时候所具有的原始文件)来创建者两个分支的合并提交。当前两个分支的最新提交均为该合并提交(merged commit)的父提交。

    image.png

    使用 git merge master new-branch 合并 masternew-branch 并且将合并后的提交作为 master 的新顶点。
    使用 git show commit_id 通过该命令查看 commit_id 与其父级 commit 当中的更改,而无需了解父级 commit 到底是哪个
    使用 git branch dash -d branch-name 将标签 branch-name 删除,但并不会删除分支中的提交。-d 指代 delete

    25.6 练习合并冲突 & 检测冲突

    合并冲突(merge conflict):意味着 masterbranch_name 更改了某文件的同一部分。Git 自身无法判断哪些更改需要保留,因此会提示作者进行抉择。

    25.7 概念图:分支和合并

    分支与合并都需进行提交,但提交与分支/合并之间到底有什么关系?

    分支实际上就是提交的标签(label

    image.png

    相关文章

      网友评论

          本文标题:Udacity前端开发工程师(入门)25 - 创建和修改代码库

          本文链接:https://www.haomeiwen.com/subject/osyeqxtx.html