Git指令入门

来源:互联网 发布:拍淘宝摄影技巧 编辑:程序博客网 时间:2024/05/21 15:56

1.1 .花15分钟学习一下git

Git是一个分布式版本控制系统,它允许多人同时操作同一个文件并且相互之间并不影响。

我们的终端指令现在在一个名叫“octobox”的目录下。要在这里初始化Git仓库,输入下面的命令:


(点击git init,会在控制台输入相应的命令,输入问结果如图,返回success则表示命令运行成功)

1.2查看状态

很棒!Git告诉我们,现在在目录”octobox“下的/.git/.创建了一个空的仓库.这是一个Git操作的隐藏的目录。

通过学习这个旅程你将将你的进度进行保存--当你结束学习后将获得一个勋章--访问网站create a free Code School account. https://www.codeschool.com/users/sign_in)。我们在那里等你。

接下来,运行命令git stataus查看我们的工程目前的状态:

(所有的步骤都是点击上方灰色背景蓝色字体的按钮后命令自动生成,然后按enter键自动执行)


1.3增加&提交

我为你在octobox仓库里创建了一个octocat.txt文件,(你可以在浏览器的下方看到)


再次执行命令git status查看仓库状态的改变


1.4添加改变

很好,看起来我们的Git一切正常。Git说octocat.txt没有追踪是什么意思呢?意思是Git认为octocat.txt是一个新的文件。

告诉git开始追踪文件octocat.txt的变化,我们首先需要通过命令git add将该文件添加到暂存区。

 git add octocat.txt


1.5检出改变

做的好!现在git已经开始追踪我们的文件octocat.txt了。现在通过再次运行命令git status查看我们目前在什么地方


1.6提交

Git所说的提交改变是什么意思?这里列出的文件是在暂存区,现在还不在远程仓库里。在我们将该文件保存到远程仓库之前,我们可以从远程仓库添加或者移除文件。

通过运行一个有描述信息的命令commit来保存状态的改变。输入下面的命令:

git commit -m "Add cute octocat story"

(-m表示message,后面双引号中的内容为描述信息)


1.7添加所有的改变

很棒!如果你想添加许多同类型的文件你也可以使用通配符。你应该注意到我已经在你所处的目录下添加了许多.txt文件。

我在文件夹octofamily中放了一些文件在octobox的根目录中也放了一些文件。幸运的是,我们可以通过通配符git add将所有的这些文件进行添加。不要忘记单引号!



1.8提交所有的改变

好了,你已经将所有的text文件添加到了暂存区。你可以随便运行命令git status来查看你所提交的内容。

看起来一切正常,现在继续:

git commit -m 'Add all the octocat txt files'


1.9.历史

到现在为止我们已经做了几次提交。现在让我们看一下我们都做了哪些改动。

幸运的是,我们可以使用命令git log。Git的日志就像一个日记,将到目前为止我们所做的提交按提交顺序记录了下来。现在运行一下这个命令:

git log


1.10远程仓库

非常好!我们将继续从https://github.com/try-git/try_git.git.创建一个空的GitHub仓库。为了将本地repo推送到GitHub服务端推,我们需要添加一个远程的仓库。

这个命令需要一个远程仓库的名称和URL.这个例子中URL用的是https://github.com/try-git/try_git.git.

继续运行命令git remote add:

 git remote add origin https://github.com/try-git/try_git.git


1.11推送到远程

push命令告诉git我们将提交到哪里并且已经准备好提交了。那么让我们将我们本地的改变提交到我们的origin repo(在GitHub上)

远程的名字是origin,默认的本地分支是master。-u告诉git记住这个参数,这样我们可以简单地运行命令git push,Git就知道该如何做。现在继续运行命令并推送!

git push -u origin master


1.12、拉取远程

让我们假设过了一段时间。我们邀请了其他人参与到我们的GitHub项目中,他们拉取了你提交了的改变的代码,并且他们自己也提交、推送了他们自己的代码。

我们可以在自己的GitHub仓库中检出这些改变并通过下面的命令拉取任何新改变的文件:

git pull origin master


1.13不同

啊噢,看起来octocat家族的文件有些增加和改变。让我们通过git diff命令来查看与我们最近一次提交的文件的不同。

假如我们想看与最近一次提交的差异,我们可以用HEAD头

git diff HEAD


1.14暂存区的不同

diff命令的另一个用处是查看暂存区的文件的改变。记住,暂存区的文件是告诉git已经准备好要提交的文件。

让我们通过git add命令向暂存区添加文件octofamily/octodog.txt,又向家族中添加了新的成员。

git add octofamily/octodog.txt


1.15暂存区的不同

很好,现在运行以--staged为参数的git diff命令来查看暂存区中的文件的改变。你可以看到新建了文件octodog.txt。


1.16重置缓存文件

现在文件octodog已经是家族中的一员了,octocat已经不受欢迎了。由于我们更加喜欢octocat而不是octdog,我们要将文件octodog.txt移除。

你可以通过git reset命令来取消暂存文件。现在继续运行移除文件octofamily/octodog.txt

git reset octofamily/octodog.txt


1.17恢复

git reset命令的确移除了暂存文件octodog.txt,但是你会发现这个文件还存在。它只是不暂存了。如果你可以回过头去看一下之前octodog是如果过来并毁掉了派对就好了。

通过命令git checkout -- <target>可以将文件恢复到最近一次提交时的状态。执行命令取消文件octocat.txt自上次提交后的所有的更改。

git checkout -- octocat.txt


1.18创建分支

当开发人员专注于一个功能或者是bug时他们可能会拷贝一份可以单独提交的代码。然后可以将分支合并到主分支master分支上。

我们想要移除所有讨厌的octocats,让我们先创建一个处理我们所有工作的叫clean_up的分支。

git branch clean_up


1.19切换分支

很棒!现在输入命令git branch你可以看到两个本地分支:一个主分支master和你新建的分支clean_up。

你可以通过命令git checkout<branch>命令来切换分支。现在试一下切换到clean_up分支:

git checkout clean_up


1.20移除所有

好了,现在你已经在clean_up分支了。你可以通过git rm命令来移除所有讨厌的octocats,这个命令不仅将文件移除并且会从暂存区移除。

你现在很可能想再一次使用通配符扫描一下来查看所有的octocats文件,继续运行:


1.21提交分支的改变

既然你已经移除了所以的cats,现在你需要将改变提交。

你可以随便运行命令git status来查看你所提交的改变。


1.22.切换到master分支

很好,你现在已经删除掉了cata...嗯,解决了bug,你需要切换回到master分支,这样你可以复制(合并)在clean_up分支上修改的内容到master分支。

继续运行并检出master分支:

git checkout master


1.23 准备合并

好了,现在到了将在clean_up分支的改变合并到master分支的时刻了。深呼吸,这并不恐怖。

我们现在在master分支,所以我们只需要告诉Git将其与clean_up分支进行合并:

git merge clean_up


1.24保持干净

祝贺!你刚刚完成了首次的bug修改和合并。现在所要做的是清除。由于已经将clean_up分支合并,你并不再需要该分支了。

你可以通过命令git branch -d <branch name>来删除一个分支。现在继续运行并移除分支clean_up:

git branch -d clean_up


1.25 最终提交

现在我们到了最后一步。我很骄傲你可以走这么远,和你一起学习Git也很棒。你现在所要做的是将刚才对远程仓库的所有修改进行提交,现在结束了!

git push


很棒,你现在浅尝了一下Git的好处。你可以在结束页查看关于Git和GitHub更多的信息,噢,当然还有的勋章!












原文地址:https://try.github.io/levels/1/challenges/1


0 0
原创粉丝点击