Git入门

简介: Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任意大小的项目。本教程将带您体验Git基础入门。

Git入门


1. 创建资源

  1. 在页面左侧,单击 云产品资源 下拉列表,查看本次实验所需资源。
  2. 单击屏幕右侧 创建资源 ,免费创建当前实验所需云产品资源。

说明:

资源创建过程需要1~3分钟。完成实验资源的创建后,您可以在 云产品资源 列表查看已创建的资源信息,例如:IP地址、子用户名称和子用户密码等。


2. 安装及配置Git

在使用Git前我们需要先安装Git。Git目前支持在Linux/Unix、Solaris、Mac和Windows平台上运行。

1. 执行如下命令,安装Git。

yum -y install git

返回如下结果,表示Git安装成功。

2. 执行如下命令,查看Git版本号

git --version

3. 执行如下命令,配置用户名称。

说明:

您需要将下面命令中的username修改为您要配置个人的用户名称。

git config --global user.name "username"

4. 执行如下命令,配置电子邮件地址。

说明:

您需要将下面命令中的test@XXX.com修改为您要配置个人的电子邮件地址。

git config --global user.email test@XXX.com

5. 执行如下命令,查看所有配置信息。

git config --list


3. 创建Git版本库

Git版本库又名仓库,英文名repository。您可以把版本库简单的理解成一个目录,Git可以管理目录中的所有文件,并跟踪每个文件的修改、删除,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。

1. 使用git init创建本地仓库。

a. 执行如下命令,创建一个目录,目录名为git。

mkdir git

b. 执行如下命令,查看已创建的目录。

ls

c. 执行如下命令,进入git目录。

cd git

d. 执行如下命令,使用当前目录作为Git仓库,进行初始化。该命令执行完后会在当前目录生成一个.git 目录。

git init

e. 执行如下命令,查看生成的.git的目录。

ls -lA

2. 使用git clone克隆远程仓库。

您可以使用git clone从现有Git仓库中拷贝项目(类似svn checkout)。

克隆仓库的命令格式如下。

git clone <repo> <directory>

参数说明:

  • repo:Git仓库地址。
  • directory:本地目录。

a. 执行如下命令,克隆Ruby语言的Git代码仓库Grit。

git clone https://github.com/schacon/grit.git mytest

返回结果如下,表示克隆完成。

b. 执行如下命令,进入mytest目录。

cd mytest

c. 执行如下命令,查看克隆的文件。

ls


4. 创建文件并提交到版本库

Git本地仓库有三大区域:工作区、暂存区、版本区。创建、修改文件等操作是在工作区,git add命令是将工作区的内容添加到暂存区,git commit命令将临时存区内容添加到本地仓库中。

1. git add命令语法如下。

添加一个或多个文件到暂存区。

git add [file1][file2]...

添加指定目录到暂存区,包括子目录。

git add [dir]

添加当前目录下的所有文件到暂存区。

git add .

2. git commit命令语法如下。

提交暂存区到本地仓库中。

git commit -m 'message'

参数说明:

  • -m:添加-m参数表示可以直接输入后面的message,如果不加-m参数,表示不直接输入message的,而是会调用一个编辑器来让您输入这个message。
  • message:备注信息。

3. 提交暂存区的指定文件到仓库区。

git commit [file1] [file2] ... -m 'message'

a. 执行如下命令,进入git目录。

cd /root/git

b. 执行如下命令,编写一个Aliyun.txt文件。

vim /root/git/Aliyun.txt

进入Vim编辑器后,按下i键进入编辑模式。添加以下内容,添加完成后按下Esc键退出编辑模式,最后输入:wq后按下Enter键保存并退出Vim编辑器。

Welcome to Aliyun!!!

添加后的文件内容如下所示。

c. 执行如下命令,将Aliyun.txt文件提交到暂存区。

git add Aliyun.txt

d. 执行如下命令,查看当前仓库文件状态。

git status

返回结果如下,您可以跟踪到新的文件Aliyun.txt。

e. 执行如下命令,将Aliyun.txt文件提交到git仓库。

git commit -m 'wrote a new file'

返回结果如下,表示您已将Aliyun.txt文件成功提交到仓库。

f. 执行如下命令,再次查看仓库状态后,返回结果表示无任何内容新增或修改。

git status


5. Git版本回退

git reset命令用于回退版本,可以指定退回某一次提交的版本。git reset命令语法如下。

git reset [--soft | --mixed | --hard] [HEAD]

参数说明:

  • --mixed:默认,可以不用带该参数。用于重置暂存区的文件,使文件与上一次的提交(commit)保持一致,工作区文件内容保持不变。
  • --soft:用于回退到某个版本。
  • --hard:参数用于撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交。
  • HEAD:

HEAD和HEAD~0表示当前版本。

HEAD^和HEAD~1表示上一个版本。

HEAD^^和HEAD^2表示上上一个版本。

HEAD^^^和HEAD^3表示上上上一个版本。

其他版本以此类推...

1. 执行如下命令,修改Aliyun.txt文件。

vim /root/git/Aliyun.txt

进入Vim编辑器后,按下i键进入编辑模式。添加以下内容,添加完成后按下Esc键退出编辑模式。最后输入:wq后按下Enter键保存并退出Vim编辑器。

wrote a new file

2. 执行如下命令,将Aliyun.txt文件提交到暂存区。

git add Aliyun.txt

3. 执行如下命令,将Aliyun.txt文件提交到git仓库。

git commit -m 'more a file'

4. 执行如下命令,查看历史提交记录。

git log

返回结果如下,您可以看到两条提交日志记录。

5. 执行如下命令,将Aliyun.txt回退到wrote a file版本。

git reset --hard HEAD^


6. Git的文件比较

git diff命令用于比较文件的不同,即比较文件在暂存区和工作区的差异。git diff命令显示已写入暂存区和已经被修改但尚未写入暂存区文件的区别。git diff的语法如下。

查看尚未缓存的改动。

git diff

查看已缓存的改动。

git diff --cached

查看已缓存的与未缓存的所有改动。

git diff HEAD

显示摘要,而非整个diff。

git diff --stat

1. 执行如下命令,修改Aliyun.txt文件。

vim /root/git/Aliyun.txt

进入Vim编辑器后,按下i键进入编辑模式。修改为以下内容,添加完成后按下Esc键退出编辑模式。最后输入:wq后按下Enter键保存并退出Vim编辑器。

wrote a new file
this is two new file
this is three new file

2. 执行如下命令,将修改的Aliyun.txt文件添加到暂存区。

git add Aliyun.txt

3. 执行如下命令,查看仓库状态。

git status

返回结果如下,您可以看见有需要提交的更改文件。

4. 执行如下命令,再次修改Aliyun.txt文件。

vim /root/git/Aliyun.txt

进入Vim编辑器后,按下i键进入编辑模式,添加以下内容,添加完成后按下Esc键退出编辑模式,最后输入:wq后按下Enter键保存并退出Vim编辑器。

this is four new file

添加后的文件内容如下所示。

5. 执行如下命令,查看仓库状态。

git status

返回结果如下,表示暂存区有尚未提交的文件变更。

6. 执行如下命令,将Aliyun.txt文件提交到git仓库。

git commit -m 'four new file'

7. 执行如下命令,查看仓库状态。

git status

返回结果如下,您可以看见第二次修改的文件没有被提交。

8. 执行如下命令,查看工作区和版本库里面最新版本的区别。

git diff HEAD -- Aliyun.txt

7. Git的撤销修改

Git的撤销修改有以下两种方式。

1. 文件修改后还没有被放到暂存区,撤销修改就能回到版本库未修改前状态。

a. 执行如下命令,查看原Aliyun.txt文件内容。

cat Aliyun.txt

返回结果如下。

b. 执行如下命令,修改Aliyun.txt文件。

vim /root/git/Aliyun.txt

进入Vim编辑器后,按下i键进入编辑模式,添加以下内容,添加完成后按下Esc键退出编辑模式,最后输入:wq后按下Enter键保存并退出Vim编辑器。

第一次修改

添加后的文件内容如下所示。

c. 执行如下命令,查看修改后Aliyun.txt文件内容。

cat Aliyun.txt

返回结果如下,您可以看见您修改后文件的内容。

d. 执行如下命令,撤销对Aliyun.txt文件的修改。

git checkout Aliyun.txt

e. 执行如下命令,查看Aliyun.txt文件内容。

cat Aliyun.txt

返回结果如下,您可以看见您新增后没有提交到暂存区的内容已经被撤销。

2. 文件修改后添加到暂存区,撤销暂存区的修改就回到添加到暂存区后的状态,需要继续执行撤销文件操作,才能完全撤销成功。

a. 执行如下命令,查看原Aliyun.txt文件内容。

cat Aliyun.txt

返回结果如下。

b. 执行如下命令,修改Aliyun.txt文件。

vim /root/git/Aliyun.txt

进入Vim编辑器后,按下i键进入编辑模式,添加以下内容,添加完成后按下Esc键退出编辑模式,最后输入:wq后按下Enter键保存并退出Vim编辑器。

第二次修改

添加后的文件内容如下所示。

c. 执行如下命令,查看修改后Aliyun.txt文件内容。

cat Aliyun.txt

返回结果如下,您可以看见您修改后文件的内容。

d. 执行如下命令,将修改的Aliyun.txt文件提交到暂存区。

git add Aliyun.txt

e. 执行如下命令,在暂存区取消对Aliyun.txt文件暂存区的更改。

git reset HEAD Aliyun.txt

f. 执行如下命令,撤销文件。

git checkout Aliyun.txt

g. 执行如下命令,查看Aliyun.txt文件内容是否被成功修改。

cat Aliyun.txt

返回结果如下,您可以看到提交到暂存区的内容已经被撤销。


8. Git的删除文件

Git的删除方式有两种,如下。

误删除工作区的文件

a. 执行如下命令,查看git目录下所有文件。

ls

返回结果如下,您可以看到git目录下所有文件。

b. 执行如下命令,误删除工作区Aliyun.txt文件。

rm -rf Aliyun.txt

c. 执行如下命令,查看仓库有一条删除文件的记录。

git status

返回结果如下,您可以看到仓库有一条删除文件的记录。

d. 执行如下命令,撤销文件删除操作。

git checkout Aliyun.txt

e. 执行如下命令,查看已经没有删除文件的状态。

git status

直接删除不需要的文件。

执行如下命令,从仓库中删除Aliyun.txt文件。

git rm Aliyun.txt

b. 执行如下命令,将删除操作提交到仓库。

git commit -m 'delete Aliyun.txt'

返回结果如下。

c. 执行如下命令,查看文件是否被删除。

ls

返回结果如下,您可以看到文件已经被删除。

d. 执行如下命令,再次查看仓库状态git status,您可以看到在暂存区删除的文件已经提交。


9. Git分支管理

1. 查看分支。

执行如下命令,查看分支。

git branch

2. 创建分支。

执行如下命令,创建分支。

git branch test

3. 切换分支。

a. 执行如下命令,切换分支。

git checkout test

b. 执行如下命令,查看分支是否已经切换。

git branch

返回结果如下,您可以看到已经成功切换到test分支。

4. 创建并切换分支。

a. 执行如下命令,您可以实现创建分支并切换分支。

git checkout -b test2

b. 执行如下命令,查看分支是否已经切换。

git branch

返回结果如下,您可以看到已经成功切换到test2分支。

5. 删除分支。

a. 执行如下命令,删除分支。

注意:如果您要删除的分支是当前工作分支,必须切换到其他分支后,才能删除。

git branch -d test

执行如下命令,查看分支是否已经切换。

git branch

6. 合并分支。

a. 执行如下命令,查看当前所处分支。

git branch

返回结果如下。

b. 执行如下命令,在当前分支test2下新建test2.txt文件

vim test2.txt

进入Vim编辑器后,按下i键进入编辑模式,添加以下内容,添加完成后按下Esc键退出编辑模式,最后输入:wq后按下Enter键保存并退出Vim编辑器。

who are you?

添加后的文件内容如下所示。

c. 执行如下命令,将文件提交到暂存区。

git add test2.txt

d. 执行如下命令,将暂存区内容提交到本地仓库。

git commit -m 'test2分支新文件'

返回结果如下,您可看到test2.txt已经成功提交到本地仓库。

e. 执行如下命令,切换到master分支。

git checkout master

f. 执行如下命令,查看master分支下所有文件。

注意:不能跨分支查看其他分支的文件。

ls

g. 执行如下命令,将test2分支合并到当前master分支。

git merge test2

返回结果如下,您可以看到分支合并成功。

h. 执行如下命令,查看master分支下是否包含test2.txt文件。

ls

返回结果如下,您可以看到master分支下有test2.txt文件。


实验链接:https://developer.aliyun.com/adc/scenario/4032def9c1a74e08926de351a5948542

相关文章
|
开发工具 git 索引
【git】入门
【git】入门
215 2
|
Shell Linux 开发工具
Git入门(windows系统)
Git入门(windows系统)
233 1
|
Linux 开发工具 git
【Git】Git 完全指南:从入门到精通
Git 是一种强大的版本控制工具,掌握了其基本命令和高级特性后,可以大大提高开发效率并方便团队协作。通过本篇文章,你已经学会了 Git 的核心命令及其使用方法,希望你能够灵活运用 Git 在实际项目中进行版本管理。
5401 4
|
存储 Shell 开发工具
【Git】Git安装入门使用&常用命令&Gitee远程仓库上传文件与下载
【Git】Git安装入门使用&常用命令&Gitee远程仓库上传文件与下载
430 0
|
程序员 开发工具 git
好程序员Git入门到精通教程
本课程主要通过命令行和idea来介绍Git的安装、仓库创建、工作流、远程仓库、克隆仓库、标签管理和分支管理等Git的主要内容。 另外关于GitHub的使用介绍也有完整的说明和使用,接轨生产环境使用方式。
187 1
好程序员Git入门到精通教程
|
存储 Shell 开发工具
Git 入门:从零开始掌握版本控制的艺术
【8月更文第16天】 在软件开发中,版本控制是一项至关重要的技能。它帮助开发者追踪文件的变化历史,并且可以在多个开发者之间协同工作。Git 是目前最流行的分布式版本控制系统之一。本文将带你从零开始学习 Git 的基本使用方法。
221 0
|
开发工具 git 开发者
Git入门:轻松掌握版本控制的艺术
【5月更文挑战第13天】Git是流行的版本控制系统,适合各种规模的项目。本文引导读者入门Git,学习版本控制艺术。内容涵盖Git简介、安装配置、基础操作(如初始化、添加文件、提交、查看状态和历史)、分支管理、协作开发(克隆、推送、拉取)及高级用法,如标签管理、子模块和版本比较。遵循最佳实践,如频繁提交、有意义的提交信息和合理分支管理,可提升开发效率。
|
数据可视化 程序员 开发工具
小白也能玩转Git:从入门到实战详细教程
小白也能玩转Git:从入门到实战详细教程
496 0
|
存储 Linux 开发工具
Git【入门】这一篇就够了
Git【入门】这一篇就够了
205 0
|
存储 持续交付 开发工具
Git操作入门
Git是一个的开源分布式版本控制系统,它已经被广泛应用于软件开发、文档管理、代码托管等领域,成为当今最流行的版本控制系统之一。Git通过高效地管理文件的变化,使得团队协作更加高效,错误率更低。本文将介绍Git的工作原理、基本命令和常见用法等内容。
193 0
Git操作入门

热门文章

最新文章