Git练习题

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Git练习题

说明:

本文使用了不同的字体来表示不同类型的文字:

输出:output

输入:input

替换:replaced

一些特殊的符号:

$ 表示shell提示符

[text] 表示文字“text”是可选的,你可以输也可以不输

一些典型的例子:

$ git --version

git version 1.7.1

$ echo Insert your text [here]

Insert your text here

访问练习git库的方法:

服务器: (192.168.9.142)

用户:exercise

密码:123456

注:git使用密码访问没有问题,但是使用repo sync下载代码时会要求输入很多次密码,因为每个git库都会要求输入密码。这里我们提供一个简单的方法(在你的机器上操作):1、建立一个新用户(比如叫test)

$ sudo useradd -m test

2、切换到该用户

$ sudo su - test

3、把服务器上的exercise用户目录下的.ssh目录拷贝过来

$ scp -r exercise@192.168.9.142:.ssh .

4、测试连接服务器是否不需要密码了

$ ssh exercise@192.168.9.142

如何不需要密码就可以连接上服务器就说明配置已经成功了,你在做下面的练习的时候就不需要输密码了。

练习1:

在你的本机配置git和repo

在这个练习中,我们将在你的本机上配置git和repo环境。包括具体的用户设置(.gitconfig 文件)和gerrit的设置。我们也会下载练习的git库。

步骤1:在~/.gitconfig文件中设置用户名和邮件地址。

1、打开一个终端,运行下面的命令(你可能需要替换一些变量为你希望的值,下同):

$ git config --global "FirstName Lastname"

$ git config --global user.email youremailaddress@

(eg: git config --global user.email scm@)

2、配置你的默认编辑器(设置为vim)

$git config --global core.editor vim

你也可以设置为其他你喜欢的编辑器,emacs或nano

3、配置git的颜色

$ git config --global color.ui auto

3、检查你的设置

$ cat ~/.gitconfig

你应该看到类似下面的内容:

[user]

name = Firstname Lastname

email = youremailaddress@

[color]

ui = auto

[core]

editor = vim

步骤2:使用repo下载git库。

1、创建一个exercises的目录:

$ mkdir ~/exercises

2、进入~/exercises目录

3、用repo下载练习git库:

$ repo init –u exercise@:manifest.git

$ repo sync

用ls命令查看是否把所有的库都下载下来了(可以和.repo/manifest.xml文件中的project项

对比)。

4、用repo start命令将所有git库切换到正确的分支上:

$ repo start test --all

5、检查分支是否切换正确:

$ repo branches

* test | in all projects

练习2:

在这个练习中,我们主要关注如何恢复(reset)你的工作目录(working directory)和索引(index)。这在出问题后我们想重新开始的时候是很有用的。我们将实践增加和删除文件。

在做练习之前,需要对git库做一些准备工作,请进入scripts目录执行exercises.sh脚本。

练习2a

创建一个新文件并暂存到index中。同时从index中取消暂存。

1、进入代码目录,例如~/exercises/exercise-2a/

2、用编辑器创建一个新文件,保存成newfile.txt

3、用git status命令查看状态。你的文件现在在上图中的哪个状态下?

4、现在运行git add newfile.txt

5、再运行git status命令查看状态。你的工作目录下发生了什么变化?这次你的文件在上图中的哪个状态下?

6、现在,我们尝试取消暂存状态。运行命令:

$ git reset -- newfile.txt

这次你的文件在上图中的哪个状态下?

提示:如果运行git reset后面不指定具体的文件,那么所有文件都会被取消暂存。

练习2b

如何恢复所有内容

1、进入~/exercisers/exercise-2b目录。这实际是另外一个git库。如果你运行命令git status,

2、你想取消所有的操作回到上次的提交(HEAD),这可以用命令git clean和git reset –-hard来实现。第一个命令是用来清除所有的编译结果(新生成的)文件的,并且它只会影响这些文件。

3、现在我们运行git clean -f来清除编译结果文件。

4、检查哪些文件被清除了。

5、现在恢复其他的修改到HEAD。

$ git reset –-hard HEAD

6、运行git status检查一下,看看和上表相比它影响了哪些文件?是所有文件吗?

练习3:

在这个练习中,我们会查看git库的历史信息,比较工作目录,index和分支。

步骤1:用git log检查提交日志。

1、进入目录~/exercises/exercise-3

2、运行命令git log查看git库的历史信息

$ git log

3、运行命令git branch查看所有的本地分支,分支名前面有*的表示当前分支。在这个

列表中你还可以看到其他的一些分支,现在我们来看看分支feature的历史:

$ git log feature

4、查看指定文件或目录的历史也是可以的,可以用下面的命令:

$ git log –- file

步骤2:使用git diff来显示提交和提交之间、提交和工作目录之间的修改。

1、进入~/exercises/exercise-3目录

2、修改任意一个文件

3、用命令git diff显示你的工作目录和index中的区别:

相关文档
最新文档