Lab00
思考题
thinking 0.1
不同之处
1.状态不同:第一次add
之前,文件状态为Untracked
,当add
之后再次修改文件后,文件状态变为Modified
2.操作不同:对于Modified
状态下的文件,可以通过git checkout -- <file>
将该文件变回修改前的状态
原因
对于已经git add
的文件,文件已经进入暂存区,这时在工作区再次修改时,和add
前的状态是不同的;且可以通过暂存区的文件对工作区进行恢复。
thinking 0.2
add the file: git add; git commit
stage the file: git add
commit: git commit
thinking 0.3
git checkout -- printf.c
git reset HEAD printf.c
git rm --cached Tucao.txt
thinking 0.4
对于每一次git commit
操作,文件都会在版本库中被记录下来。
通过git reset --hard <Hash-code>
操作,可以回溯到任意一个曾经commit
的版本。
thinking 0.5
1.正确。
通过本地测试,在本地克隆远程仓库后,只会在本地检出HEAD
指向的分支,一般为main/master
分支。
2.正确。
这四条指令都是本地的状态和提交记录,与远程仓库无关。
3.错误。
克隆时所有分支都被克隆,但只有HEAD
指向的分支被检出,需要在本地创建其他分支与远程仓库建立联系。
4.正确。
通过本地实验后发现是正确的。
thinking 0.6
thinking 0.7
command
1 |
|
result
1 |
|
echo echo Shell Start
与echo 'echo Shell Start'
效果上没有区别;
echo echo \$c>file1
后,‘file1’中内容为echo $c
;
echo 'echo \$c>file1'
后,标准输出为echo \$c>file1
。
实验难点
git
文件状态和恢复操作一图。
总结感受
在寒假预习了部分知识点的基础上,课下实验大约用4个小时左右的时间完成,总体来说Lab00课下实验难度不高。
Lab00主要在于对一些工具的了解和熟练掌握,在完成课下实验之后还需要不断学习巩固,为后面的学习做准备。
其中个人遇到的难点有:
git
操作较多,尤其是多种恢复操作,难以区分和记忆。
Linux
的Shell
操作较多,熟练掌握需要一定的练习;bash
批处理文件的编写也需要不断巩固,注意细节。