git学习总结系列(1)——基本用法

廖雪峰的官方网站:http://www.liaoxuefeng.com/

本文是学习廖雪峰的官方网站上git教程git基本用法的总结,详细内容可以进入廖雪峰的官方网站查看。

注:本文中的主要内容都是基于Linux环境进行操作的,使用的git版本为最新的2.10.2版本。文中命令示例中方括号里面的内容都表示是可选参数。

1. git与版本控制系统

  • git:分布式版本控制系统。

  • svn:集中式版本控制系统。

无论是分布式还是集中式版本控制系统,都只能对纯文本文件进行版本控制,而对二进制文件(如MS Word、MS Excel文档等)却都是无能为力的。

注意一点:文本文件必须统一使用utf-8格式编码,千万不要使用gbk编码!

2. 安装git

1. Linux环境(以Ubuntu为例)

(1) 查看当前有没有安装git

git

(2) 安装git

sudo apt-get install git

(3) 查看git版本

git --version

(4) 查看git帮助文档

有两种方法:

git

git --help

2. Windows环境

https://git-for-windows.github.io 上下载EXE安装包安装,安装完成后会有一个git bash命令行,然后在git bash命令行中其他操作和Linux下一致。

3. 配置git

1. 全局配置:

git config --global user.name "your_name"

git config --global user.email "your_email@example.com"

2. 在当前目录下初始化一个git版本库

git init

创建成功后,在当前目录下使用ls -al命令,可以看到创建了一个新的隐藏目录:.git,这就是git的版本库,注意不要手动修改其中的任何内容!

4. git工作区和暂存区、分支的关系

初始化成功一个git版本库后,会自动创建一个默认版本分支:master,以及一个暂存区(stage)。那么工作区(即用git init命令初始化后的硬盘文件夹)、暂存区、分支三者之间的关系是什么呢?搞清楚这一点对后面学习git的很多用法都非常重要,一图胜千言,见下图:
这里写图片描述

5. git 常用操作

准备:假如当前目录位于learngit文件夹,是一个空文件夹,首先在learngit目录初始化一个git版本库:

git init

这时发现在learngit文件夹下新建了一个隐藏目录:.git,然后在learngit目录下新建一个文本文件:readme.txt,并向其中任意添加一些内容。

1. 将readme.txt文件添加到版本库暂存区

git add readme.txt

附:git add的其他用法:

  • 添加工作区的所有修改(包括新建、修改和删除文件这三种修改):git add -A

  • 添加工作区中新建和修改文件的改动到暂存区,但不包括删除文件的改动:git add *git add .

  • 添加工作区修改和删除文件的改动到暂存区,但不包括新建文件的改动:git add -u

  • 撤销单个或多个文件的add操作:git reset 文件名1 文件名2...

  • 撤销当前所有add到暂存区的操作:git reset

2. 删除文件

git rm 文件名1 文件名2...

3. 从暂存区提交修改(包括git addgit rm操作)到主分支

git commit -m "create a new file readme.txt"

注:git commit操作只会提交已经add到暂存区的修改,而工作区还未被add进暂存区的修改是不会被提交的。

4. 查看工作区状态

git status

5. 查看工作区和当前版本库最新版本之间的差别

git diff HEAD [-- 文件名1 文件名2...]

6. 撤销暂存区的修改(包括git add和git rm操作)

git reset HEAD [文件名1 文件名2...]

7. 查看commit操作的历史记录

git log [--pretty=oneline]

注:--pretty=oneline参数是为了在一行显示一条历史记录。

8. HEAD的理解

HEAD其实相当于一个指针,它指向的版本号就是当前版本库的最新版本。

  • HEAD:当前版本

  • HEAD^ :上一个版本

  • HEAD^^ :上上个版本

  • ……

  • HEAD~100:往前100个版本

HEAD的指针作用可以用如下示意图表示:
这里写图片描述

从上图也可以看出,HEAD指针可以指向不同的版本,而这也正是下面要讲的版本回退和切换的原理。

9. 回退到某一个版本

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

  • 回退到某个版本:git reset --hard 版本号

注:版本号可通过git log命令查看,只需要写前几位即可,git会自动识别匹配。

10. 回到未来

假如回退到之前的某个版本后,又后悔了不想回退了,想要撤销回退(即想要回到回退前的版本),可以使用如下命令:

  • 先查看commit和reset命令的所有操作历史记录:git reflog

  • 找到想要回到的未来的某个版本号,回到未来:git reset --hard 版本号

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
IDEA Git是IntelliJ IDEA集成的版本控制系统,可以帮助开发人员更好地管理和协作开发项目。使用IDEA Git,您可以执行各种操作,如提交修改、拉取和推送代码、解决冲突等。以下是关于IDEA Git的使用方法: 1. 初始化Git仓库:在IDEA中打开您的项目后,可以通过右键单击项目根目录并选择"Git" > "Initialize Git Repository"来初始化Git仓库。这将在项目文件夹中创建一个名为".git"的隐藏文件夹,表示Git仓库已经初始化成功。 2. 提交修改:当您对代码进行修改后,可以通过右键单击文件文件夹并选择"Git" > "Commit File"或者"Commit Directory"来提交修改。在提交窗口中,您可以选择要提交的文件、编写提交消息并提交修改。 3. 拉取和推送代码:在多人协作项目中,您可能需要从远程仓库拉取代码或将代码推送到远程仓库。使用IDEA Git,您可以通过右键单击项目根目录并选择"Git" > "Pull"或"Git" > "Push"来执行这些操作。在弹出的对话框中,您可以选择要拉取或推送的分支以及其他相关选项。 4. 解决冲突:当多个人同时修改同一文件并尝试推送到远程仓库时,可能会发生冲突。在IDEA中,您可以使用代码比对工具来解决冲突。首先,复制您的代码以备份,然后选择接受别人的代码,最后使用代码比对工具将备份的代码与IDEA中的代码进行对比,解决冲突。 5. 克隆项目:如果您想从远程仓库克隆一个项目到本地,可以通过使用Git地址克隆。在IDEA中,您可以通过选择"Check out from Version Control" > "Git",然后在弹出的对话框中填入Git地址和本地目录来克隆项目。 以上是关于IDEA Git的一些基本使用方法。希望对您有所帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [详解IDEA Git Reset 选项说明](https://download.csdn.net/download/weixin_38666785/12924530)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [IDEA中如何使用Git——图文超详细,包会](https://blog.csdn.net/QingXu1234/article/details/127006467)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值