Git基操

萌新程序猿大多有这么个阶段:项目做了一部分,想要添加新功能的时候,畏畏缩缩地把整个项目Ctrl+c,Ctrl+v一份——目的是为了不把辛辛苦苦写好的部分给玩儿坏。但是你想想,如果要修改一百次,岂不是要copy一百份代码?

今天来学学“大佬”程序员是怎么操作的。

本篇文章不含高深的理论讲解,囊括Git最基本的几个操作,适合入门级程序员初学Git使用,请学习Git高级应用的同学绕道。

1. Git简介

迄今为止世界上最先进的分布式版本控制系统!
这玩意儿,就是Linus大神为管理Linux源码使用C语言耗时两周写成的。随着Git的迅猛发展,2008年又诞生了“同性交友网站”-Github,一个为世界上所有开源项目提供免费Git托管存储的网站。自此,无数开源项目迁移至Github。

1.1 Git仓库

想象一下现在你是乐高世界里的一名建筑师,正在工地(工作区,即项目目录Working Directory)造一栋大厦。为了方便试错,你把每一次完成的一小部分劳动成果copy出来,放在小拖车(暂存区Stage)上拉进仓库(Repository),其中暂存区与仓库统称为版本库。

1.2 安装配置

这里不作赘述,各平台安装方式可自行搜索。需要注意的是,在Windows平台,所有安装路径与git项目路径不能包含中文!

1.3 操作流程

下面以一个实际项目需要使用到的几项git命令来介绍:

  1. 创建版本库
  • 在项目路径下,右击鼠标,点击Git Bash Here,调出Git命令行。
  • 使用 git init 命令创建一个可管理版本库
  • 得到Initialized empty Git repository in …即成功(此时路径下多出一个.git隐藏目录,千万不要手动操作此目录中任何内容,负责容易损坏仓库)。
  1. 添加文件

这里我们在刚刚右击鼠标的路径下新建一个README.md文件,这便是我们工地的大厦。

运行如下两条命令,把文件上传至仓库

$ git add README.md
$ git commit -m "The first modification"
得到提示,成功把文件放入仓库。这里注意,git commit命令后-m” ”中可以添加对于此次修改的说明。

我们继续对文件进行修改

  1. 文件查看
  • 运行git status命令

运行结果显示项目文件被修改过,但是还没提交修改。

  • 运行git diff命令

运行结果结合项目文件,可知git diff命令可以看到我们具体修改了哪些内容(git diff查看的是:工作区该文件与版本库中当前分支上该文件之间的差异)。
另外还有:

git diff --cached查看暂存区和仓库差异;
git diff HEAD 查看工作区和仓库的差异。

  • 按顺序运行
$git add README.md
$git commit -m”The second modifacation”
$git log

可看到最近3次修改提交日志

  1. 版本回退
  • 使用git reset –hard HEAD~1回退到上一个版本。(git中HEAR~X表示回退到往上X个版本,X表示1-100,这样我们便回到了第一个版本。
  • 如果我又想回退到第二个版本,也就是未来,该怎么办?
    使用git reset –hard a4b0a命令!a4b0a是上面git log时获取的第二个版本的id号,取前几位就够了嗷~
  1. 撤销

这也是一个非常方便的命令,简单来说,这个命令让你回到最近一次git add或者git commit命令提交的文件状态。

$ git checkout -- README.md 
  1. 删除
$ git rm README.md 

删除版本库中的文件,然后使用git commit -m ""提交删除操作即可删除版本库内容。

这时我们使用git status查看版本库状态,已经没有文件了

然后在文件管理器中删除README.md文件即可。甚至你还可以删除git版本库

$rm -rf .git

以上命令能够帮助你快速上手git,自此再也不用担心被人看到版本控制copy代码的垃圾操作了!

扫描关注 " 有趣的技术小窝",看天马行空的技术杂谈; 获实用的软件、资料分享

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值