前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >git 进阶操作命令

git 进阶操作命令

作者头像
Java开发者之家
发布2021-06-17 15:50:58
2490
发布2021-06-17 15:50:58
举报
文章被收录于专栏:Java开发者之家

# 工作区与暂存区

# 工作区

TIP

工作区就是在你电脑上的Repository下的某一个工作目录,比如:F:\Repository\test01这个目录。test01这个目录就是工作区,或者你新建的任何一个目录,都是工作区(.git隐藏目录下并非工作区)

# 暂存区

Repository目录下有一个(.git隐藏目录),这个就是控制版本的版本控制库。

TIP

(.git隐藏目录)存储了Git为我们创建的各种信息,包括版本信息,暂存区(这是最重要的),还有分支信息(Git已经为我们创建了一个master分支),还有一些配置信息等。

接下来在Repository目录下新建一个test.txt文件,在里面写入123456,然后进行下面的这些操作。

git_add_commit3
git_add_commit3

继续在test.txt中添加一行数据,然后使用git status查看信息。git会提示你有文件需要git add 并且git commit。

继续下面的操作!---把同一个文件提交到同一个暂存区中,并且使用commit提交到一个分支中。

git_status_add_commit
git_status_add_commit
git_status_commit
git_status_commit

这次将所有文件提交到一个分支(master分支)中了,可以使用git log查看你提交的所有分支。

git_log4
git_log4

这样看起来很碍眼,而且版本较多的话,看起来的确不方便,所有推荐使用

代码语言:javascript
复制
git log --pretty=oneline

接下来,你可以使用上一篇git基础教程 讲过的方法对版本进行操作。基本命令请点击链接去查看...

# 撤销修改与删除文件操作

# 撤销修改

# 最简单的方法:手动修改

在你记得你修改了那些地方的情况下,直接手动撤销那些你不要的东西即可。

# 使用之前所使用的命令进行版本回滚

具体命令如下:

代码语言:javascript
复制
git log --pretty=oneline

git reset --hard HEAD^

git reset --hard HEAD~*

git reflog

git reset --hard 版本号

你可以使用这些办法进行你所需要的回滚。

# 使用git checkout -- test.txt 一点要带文件名,不然会创建分支!

git checkout --test.txt 分为两种状态

代码语言:javascript
复制
git checkout --test.txt

1

  1. test.txt文件修改后,你没有使用git add命令对其进行提交到暂存区。使用git checkout --test.txt会回退到之前的一个版本。相当于回滚到你最后提交的那个版本。而刚刚修改的内容也将全部丢失。

  1. 另一种情况就是你已经使用git add提交文件到暂存区了。那这样使用git checkout --test.txt 就会保存已经在暂存区的内容。而没有写入暂存区的内容则会全部丢失。

接下来使用git进行操作查看。

首先在test.txt文件中添加一行数据 654321,然后使用git add命令提交到暂存区。

git_add2
git_add2

接着再在test.txt文件中添加一行数据 222222,然后我们不使用git add命令提交文件到暂存区。

最后我们使用git checkout --test.txt命令撤销修改,在查看文件。

git_checkout
git_checkout

跟上面的结论是一样的。

# 删除文件

# rm 命令(linux下的软删除命令)

假如有人提交了tesxt02.txt的文件,但是这个文件缺失不需要的,我们可以使用rm test02.txt,然后在git commit就可以了。

代码语言:javascript
复制
新建一个test02.txt 文件
git add test02.txt
git commit -m "提交test02文件"
rm test02.txt
git commit -m "删除test02文件"
git_commit4
git_commit4
rm
rm

说明已经删除了文件并且已经commit了,当然假如你删除错误的话,你也可以回滚版本。

git_reflog
git_reflog

假如你已经使用rm test02.txt命令,但是却没有使用git commit命令呢?又改如何恢复文件?你可以使用下面的命令:

代码语言:javascript
复制
git checkout --test02.txt

1

rm之前:

rm_before
rm_before

rm 之后:

git_rm_after
git_rm_after

然后我们不使用git commit命令,使用git checkout -- test02.txt

使用git checkout -- test02.txt之后

git_check_out
git_check_out

文件又恢复了,恢复多个文件也是同理。


代码语言:javascript
复制
 下面会涉及删除与撤销的操作!请继续浏览!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-03-28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • # 工作区与暂存区
    • # 工作区
      • # 暂存区
      • # 撤销修改与删除文件操作
        • # 撤销修改
          • # 最简单的方法:手动修改
          • # 使用之前所使用的命令进行版本回滚
          • # 使用git checkout -- test.txt 一点要带文件名,不然会创建分支!
        • # 删除文件
          • # rm 命令(linux下的软删除命令)
      相关产品与服务
      对象存储
      对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档