Git 学习整理稿

来源:互联网 发布:python教程pdf 百度云 编辑:程序博客网 时间:2024/04/29 15:20

https://try.github.io/levels/1/challenges/1

Trygit 是一个在线学习 Git 的网站,提供了一个终端来逐步学习Git 的 各种操作


1.1 Got 15 minutes and want to learn Git?

Git 允许一个团队的成员在同一时间对相同的文档(通常是代码)进行编辑,并且可以避免彼此的工作交叉。Git 是一个分布式的版本控制系统。

我们下面的终端提示符在被叫做 octobox 的路径下,若要初始化 Git 仓库,请键入以下命令:git init

1.2 Checking the Status

干得好!Git 告诉我们,我们的 octobox 目录是在 /.git/ 下的一个空的仓库,这个仓库是在 Git 管理下的一个隐藏的目录

为了保存你在这个教程中的进展,成功完成一个阶段的学习会得到一枚徽章,去创建一个Code School 的帐号吧!

接下来,让我们键入 “git status”命令来看看我们的项目的当前状态是什么:

1.3 Adding & Committing

我为你在 octobox 仓库中创建了一个叫做 octocat.txt 的文件

你应该运行“ git status ”命令以查看仓库状态的更改:

好的,看起来我们的 Git 仓库正常工作了,你应该注意到了,Git 将 octocat.txt 归档在 untracked 下,这意味着 octocat.txt 是一个新文件

为了让Git 开始跟踪 octocat.txt 所做的更改,我们首先应该执行“ git add ”命令将它添加到暂存区

1.5 Checking for Changes

干得好!Git 现在已经跟踪了我们的 octocat.txt 文件,现在让我们运行“ git status ”命令来看看我们的状态

1.6 Committing

注意到Git 将其变更到 committed 下了吧,这个文件列表是在暂存区,它们并不在我们的仓库中

在我们将其存储在仓库中之前我们可以添加活移除文件

为了存储我们的阶段性变更,我们运行“ commit ”命令带着我们对变更的描述信息

1.7 Adding All Changes

非常好,如果你想要添加多个类型的文件,你也可是使用通配符。我已经添加了一些 .txt 文件到目录下

我把一些文件放在名为“ octofamily ”的目录下,其他一些放在我们的“ octobox ”的根目录中

幸运的是,我们可以添加一个通配符使所有的 .txt 新文件添加,记得别忘了引号

1.8 Committing All Changes

好了,现在已经添加了所有的文件到暂存区。先运行“ git status ”去查看将要提交什么文件吧!

如果一切OK, 继续下去

1.9 History

我们现在已经提交了几次了,现在让我浏览一下看看有哪些改变

幸运的是我们还有Git 日志,把Git 日志看作是一份期刊,它会记录到目前为止,我们做出的所有已经提交的改变

1.10 Remote Repositories

太棒了 !我们已经先一步,创建了新的空 GitHub 资料库供您尝试Git 的使用,在 https://github.com/try-git/try_git.git 处

要将我们本地的改变推送到 GitHub 服务器我们需要添加一个远程仓库

此命令带有远端的名字和仓库的URL,你现在的地址是 *********

继续运行“ git remote add ”以及如下选项

1.11 Pushing Remotely

Push 命令告诉Git 当我们准备好提交的时候我们要推送到哪,让我们把本地的改变推送到远程仓库中吧

我们默认的本地分支名字叫 master ,-u 选项可以告诉Git 记住这个参数,以便下一次我们可以简单地进行推送

1.12 Pulling Remotely

我们先假装已经过了一阵子,我们邀请了其他人加入我们的Github 项目,他们可以拉取你的更改,也可以提交他们自己的更改

我们可以检查在Github 仓库的更改,拉取新的更改

1.13 Differences

看起来有一些内容已经添加进来了,我们通过“ git diff ” 命令来查看和我们最后一次提交有什么不同

在这种情况下,我们想要我们最新的提交,我们可以参考使用头指针的 diff

1.14 Staged Differences

Diff 的另一个重要用途是查看早就在暂存区的文件的更改。记住,暂存的文件是我们已经告诉 Git 那些是准备提交的文件

让我们使用“ git add ”命令添加,我只是为你把它添加到 family 中

1.15 Staged Differences (cont'd)

太好了,现在去吧,运行git diff 带这 --staged 选项可以看到暂存的更改。您也应该看到 octodog.txt 被创建了。

1.16 Resetting the Stage

您可以通过使用 git reset 命令将文件置于 unstage 状态。继续并删除 octofamily/octodog.t

1.17 Undoxt

git reset 虽然重置了 octodog.txt 但是你会注意到它还在那里,他只是不再暂存了,如果可以回档就非常棒了

文件可以改回他们在最后提交的状态,所使用的命令是:git checkout -- octocat.txt

1.18 Branching Out

当开发人员开发一种功能或者调试一个bug 时,他们通常会创建一个分支,他们可以分别提交这些分支的代码

等到完成之后将分支合并到主要的分支中

我们想要删除所有的令人讨厌的 octocats ,我们创建一个分支被称为 clean_up 

1.19 Switching Branches

如果你现在输入“ git branch ”命令可以看到两个本地分支,名为 master 的主要分支和新的分支 clean_up

你可以使用 git checkout <branch> 命令来切换分支

1.20 Removing All The Things

你现在就在 clean_up 分支中了,你可以通过 git rm 命令来移除你不喜欢的 octocats

删除过程中你可以再次使用通配符

1.21 Commiting Branch Changes

现在你已经删除了所有的 octocats 需要提交你的更改

运行 git status 来检查你要提交的更改吧

1.22 Switching Back to master

你可以复制 clean_up 的分支到 master 分支

1.23 Preparing to Merge

好的,你必须将 clean_up 分支中的更改合并到 master 分支

我们准备进入主分支,所以我们只需要告诉Git 将 clean_up 分支合并到这

1.24 Keeping Things Clean

祝贺你!你刚刚完成你的第一次修正和合并,完成之后就不再需要 clean_up 分支可以清理了

你可以使用 git branch -d <branch name>  命令来删除一个分支

1.25 The Final Push

这是最后一步了,到现在为止我真的为你骄傲,你很好的学习了Git 

剩下的就是把一切都推送到远程仓库中!

0 0
原创粉丝点击