Git学习_01

git简介

安装git

Windows下安装git https://git-scm.com/downloads
安装完成后会出现一个Git Bash,点击GIt Bash弹出窗口表示安装成功。
Git Bash
Linux 下安装Git 首先,你可以试着输入git,看看系统有没有安装Git:

$ git
The program ‘git’ is currently not installed. You can install it by typing:
sudo apt-get install git

像上面的命令,有很多Linux会友好地告诉你Git没有安装,还会告诉你如何安装Git。
然后执行命令

sudo apt-get install git

创建版本库

在合适的位置创建一个空的目录

mkdir learngit
创建空的目录

进入到 learngit 目录下,显示当前所在目录

cd learngit
pwd
进入Learngit目录

使用

git init

把该目录变成Git可以管理的目录
初始化Git
创建一个文本文件,一定要放到 learngit 目录下(子目录也可以)

vim readme.md

写入以下内容

Git is a version control system.
Git is free software.

第一步,用命令git add告诉Git,把文件添加到仓库:
第二步,用命令git commit告诉Git,把文件提交到仓库(打错了一个单词,尴尬):
提交

git commit命令,-m后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。

git commit命令执行成功后会告诉你,1 file changed:1个文件被改动(我们新添加的readme.txt文件);2 insertions:插入了两行内容(readme.txt有两行内容)。

小结
初始化一个Git仓库,使用git init命令。

添加文件到Git仓库,分两步:

使用命令git add ,注意,可shi’h使用,添加多个文件;
使用命令git commit -m ,完成。

时光穿梭机

修改readme.md中的内容

Git is a distributed version control system.
Git is free software.

使用git status查看状态
查看状态
git status命令可以让我们时刻掌握仓库当前的状态,上面的命令输出告诉我们,readme.txt被修改过了,但还没有准备提交的修改。

使用git diff查看具体哪些变化

gif diff readme.md

查看变化
执行 git add readme.md
然后使用 git status 查看状态
查看状态
然后使用 git commit -m “add distributed”
提交
使用git status查看当前状态
查看当前工作区状态
小结
要随时掌握工作区的状态,使用git status命令。

如果git status告诉你有文件被修改过,用git diff可以查看修改内容。

版本回退

再次修改readme.md里面的文件

git is a distributed version control system.
git is free software distributed under the GPL.

使用git add readme.md 添加到工作区
然后使用git commit -m "append GPL"进行提交

第三次修改
使用git log查看日志信息
查看日志信息
git log命令显示从最近到最远的提交日志,我们可以看到3次提交,最近的一次是append GPL,上一次是add distributed,最早的一次是wrote a readme file。

如果嫌输出信息太多,看得眼花缭乱的,可以试试加上–pretty=oneline参数:
简化日志信息
回退上一个版本

git reset --hard HEAD^
回退到上一个版本

查看文件内容
回退后的文件内容
使用git log查看信息,只有两个版本的信息了
查看回退后的信息

如果想回到最新的版本
使用git reset --hard 06d73
返回最新版
忘记commit id可以使用git reflog查看每一次操作
查询每一次操作
小结
HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id。

穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。

要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。

工作区和暂存区

就是你在电脑里能看到的目录,比如我的learngit文件夹就是一个工作区

版本库(Repository)
工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。

Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。

我们再练习一遍,先对readme.txt做个修改,比如加上一行内容:

git is a distributed version control system.
git is free software distributed under the GPL.
git has a mutable index called stage.

然后,在工作区新增一个LICENSE文本文件
先用git status查看一下状态:
添加文件LICENSE
Git非常清楚地告诉我们,readme.txt被修改了,而LICENSE还从来没有被添加过,所以它的状态是Untracked。

现在,使用两次命令git add,把readme.txt和LICENSE都添加后,用git status再查看一下:
git add之后查看状态
git add命令实际上就是把要提交的所有修改放到暂存区(Stage),然后,执行git commit就可以一次性把暂存区的所有修改提交到分支。
git commit
一旦提交后,如果你又没有对工作区做任何修改,那么工作区就是“干净”的:
查看最终状态

管理修改

对readme.md进行修改
第一次修改
然后git add
git add
再次对readme.md进行修改
第二次修改
然后git commit进行提交
进行提交
查看提交后readme.md的状态,发现第二次修改未被提交
提交后的状态
使用git diff HEAD – readme.md
git diff
因为我们在第一次修改后执行的git add操作,将第一次修改后的文件提交到了暂存区,然后进行的第二次修改,修改完成后并没有进行git add操作,也就是说第二次修改的文件并没有提交到暂存区而且保存在工作区,然后执行git commit操作将暂存区的文件提交到分支了,所以查看到的文件是第一次修改的内容。
要想看到第二次修改的文件内容,再次执行git add和git commit命令后将可以看到了。
第一次提交

撤销修改

在工作区添加了一行

stupid boss

这时你发现了这个问题想要撤销这一行,可以先用git status查看状态
查看状态
git 告诉你可以使用git checkout – <文件> 丢弃工作区的改动
撤销改动
如果你写了一行不好的代码,又将它使用git add添加到暂存区了

提交到暂存区
git 提示你使用git reset HEAD <文件>取消暂存
取消暂存
使用git checkout丢弃工作区的改动
丢弃工作区的改动
文件就恢复到初始状态了。
如果你不小心将不要的文件提交到了分支,不用担心,这时你可以使用版本回退到上一个版本就好了。
先使用git log查看你要回退到的版本
查看版本
然后使用

git reset --hard 74789

回退到上一个版本,查看内容
查看内容
如果你将改动推送到远程版本库,你将可以准备写辞职信了,祝你好运…

小结

场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout – file。

场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD ,就回到了场景1,第二步按场景1操作。

场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。

删除文件

新建一个测试文件test.txt到Git并且提交
提交测试文件
一般情况下,你通常直接在文件管理器中把没用的文件删了,或者用rm命令删了:

rm test.txt

这个时候,Git知道你删除了文件,因此,工作区和版本库就不一致了,git status命令会立刻告诉你哪些文件被删除了:
提示测试文件被删除
在文件中确实被删除了
删除
如果是误删,可以使用

git checkout

git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。
还原文件
如果你真的想删除这个文件,这时你需要先

rm test.txt
git rm test.txt
git commit -m “delete test.txt”

删除文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要读取Git提交记录,可以使用Git命令行或者Git API。以下是使用Git命令行读取Git提交记录的步骤: 1. 打开Git Bash或者命令行窗口,进入要读取提交记录的Git仓库目录。 2. 执行以下命令以获取所有提交记录: ``` git log ``` 3. 如果想要获取指定分支的提交记录,可以在命令后面添加分支名,例如: ``` git log origin/master ``` 4. 如果想要获取某个时间段内的提交记录,可以使用以下命令: ``` git log --since="2021-01-01" --until="2021-12-31" ``` 以上是使用Git命令行读取Git提交记录的步骤,你可以根据自己的需求进行调整。 ### 回答2: C是计算机编程语言中的一种,也是一种高级语言。C语言于1972年由贝尔实验室的丹尼斯·里奇开发。C语言被广泛应用于软件开发领域,尤其是系统级编程和嵌入式系统开发。 C语言具有简洁、高效的特点,可用于开发各种应用程序,包括操作系统、编译器、数据库和网络协议等。它被称为"中间语言",因为它在低级机器语言和高级编程语言之间有一个很好的平衡点。 C语言的语法相对简单,易于学习和使用。它主要基于过程式编程范式,强调程序的顺序执行和模块化开发。C语言具有良好的可移植性,可以在多种操作系统和硬件平台上运行。 C语言提供了丰富的标准库,包括输入输出、字符串处理、内存管理等功能,为程序员提供了丰富的工具和接口。此外,C语言还支持底层操作,如位运算和指针操作,使得程序员能够更好地控制计算机的底层细节。 C语言也是其他编程语言的基础,例如C++和Objective-C等。许多编程语言采用了C语言的语法和结构,并在其基础上进行扩展和改进。因此,学习C语言对于理解和掌握其他编程语言也非常有帮助。 总之,C语言具有高效、简洁和可移植等优点,成为了计算机编程领域中最重要的语言之一。它对于计算机程序员和软件开发人员来说是一种强大的工具,值得深入学习和掌握。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值