在日常的开发中,适用版本控制系统来进行协同开发已经是工作中的常态,使用比较多的要数git这个工具,今天就来说下git的日常用法以及在开发中的一些疑惑。

一、概述

git在日常开发中广泛应用,其概念可以去百度,这里就不在赘述。git是管理文件的,有两个比较重要的概念远程仓库和本地仓库,所谓远程仓库,可以理解为在某个地方有一个公共的池子,在这个池子中放着大家都可以访问到的资源,当然前提是你能访问到这个池子;所谓本地仓库那当然就是你自己本地的东西了。那要如何管理远程仓库和本地仓库,以及如何实现远程仓库和本地仓库的互通那,这个就是git的内容了,简单点理解git就可以进行上面的本地仓库、远程仓库间的管理。既然要进行本地仓库的管理,那么就必须要有git软件,也就是经常说的git,其软件安装可以从官网下载,并进行安装,下面是我下载的软件的截图,

点击这个软件就可以进行安装。安装完成后在本地机器的任何位置鼠标右键可以出现下面的菜单,说明安装成功,

在经常的开发过程中,使用的都是IDE(eclipse或idea)进行开发,在IDE中也会集成git插件,但是和前边自己安装的是不一样的,但功能上说是一样的,建议自己单独安装,且IDE中都提供自定义安装的配置,下面以idea为例,看其配置的地方,

在idea中file->settings中,搜索git,找到下面的页面

在上图中,就是配置的自己安装的git的目录,然后点击“test”,进行测试出现git的版本号即为配置成功。

二、详述

在前边说了自定义安装的git和IDE中git的不同之处(建议在IDE中配置单独安装的git),那么如何把一个文件或者文件夹交给git进行管理。这里有两种方式,其实也可以说是一种方式,因为后者使用IDE的方式,其实也是借助于git的命令。也就是说可以使用git命令行和IDE的方式。

git命令行是什么,前边说到git安装成功后,在任意一个位置鼠标右键都会有两个菜单“Git GUI Here”、“Git Bash Here”,那么“Git Bash Here”便是打开git的命令行,如下图我想把ideaws这个文件夹下的文件交给git进行管理,在这个文件夹下鼠标右键选择“git bash here”

出现上边的黑色弹出框这便是git的命令行,此命令行和linux的命令行很像,且可以使用linux的命令,如pwd和ll

通过上面的命令可以知道和linux下的显示是一致的。在命令行下就可以执行git的命令,可以执行git init命令,新建一个git代码库,

通过上面的命令就创建了一个git的本地代码库,接下来通过git status 命令,查看下其状态,

大体意思是,在master分支上还没有文件提交,没有被追踪的文件有.idea/、MyFirst.html、pom.xml。并且有提示,可以使用git add <file>命令可以进行文件追踪。这是什么意思那,在git中有工作区、暂存区、仓库区(本地代码库)等概念,一般一个文件如果没有执行过git add命令,那么其在工作区也就是没有被追踪;执行完git add命令后在暂存区也就是被追踪了;执行了git commit后便在本地代码库中,使用git status命令可以看到其状态,并且给出了提示可以使用git add命令可以添加到暂存区,也就是可以被追踪。下面使用git add命令

从上面可以看到使用git status命令后又发生了变化,pom.xml已经添加到了暂存区,可以使用git rm --cached 从暂存区移除,可以看到还有./idea/和MyFirst.iml两个文件没有加入暂存区,下面使用git rm --cached命令,

可以看到pom.xml已经被移除暂存区。那么如何添加到仓库区那,使用git commit命令

在执行git commit pom.xml命令后,会进入一个编辑的页面,相当于在linux下执行了vim file命令,这里需要输入一段文件,作为提交的说明,我这里输入的是“第一次提交”,也可以使用git commit -m "第二次提交" MyFirst.iml命令

三、总结

本文重点讲解了git的安装以及IDE环境中的git的区别,主要演示了git客户端命令行模式下的操作,

git init/git init <folder>

git add <file>

git rm --cached  <file>

git commit <file>/git commit -m <file>

git status

另外细心的小伙伴可能发现在截图中还有另外一个命令git restore --staged <file>,该命令下次再讲。

有不当之处,欢迎指正,感谢!

git操作之一:git add/commit/init的更多相关文章

  1. AS中Git操作和Git工作流

    查阅并学习安卓中如何使用Git,并扩展学了下Gitflow工作流程,以下是我觉得有用,系统,详细的相关文章. AS中Git操作系列 https://www.jianshu.com/p/0cc226ee ...

  2. git操作之git clean删除一些没有git add的文件

    删除 一些 没有 git add 的 文件: git clean 参数 -n 显示 将要 删除的 文件 和  目录 -f 删除 文件,-df 删除 文件 和 目录

  3. git 操作实践

    git操作: - git是一个用于帮助用户实现版本控制的软件 #首先创建项目 1. cd到项目文件目录 2. 鼠标右键点击 Git Bash Here 3. git init #在项目文件目录生成 . ...

  4. 使用Gitkraken进行其他Git操作

    使用Gitkraken进行其他Git操作 查看某次 commit 的文件改动 使用 Gitkraken 能非常方便的看到任意一次的 commit 对项目文件的改动. 具体操作是:在树状分支图上单击某个 ...

  5. Git 学习(三)本地仓库操作——git add & commit

    Git 学习(三)本地仓库操作——git add & commit Git 和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念.这在上文已有提及,本文具体说明什么是工作区及暂存区,以及 ...

  6. Git学习 --> 个人常用命令add,commit以及push

    Git命令行配置1 安装Github2 安装msysgit3 要配置用户名和油箱  git config --global user.name <用户名> 我的命令就是:git confi ...

  7. [git] 细说commit (git add/commit/diff/rm/reset 以及 index 的概念)

    http://kasicass.blog.163.com/blog/static/39561920133294219374/ 创建测试仓库 $ git init $ echo "line o ...

  8. 【记录】gitLab git命令add commit fetch pull push

    最近项目使用git进行版本控制,由于之前用svn,所以对git不是太熟悉,网上一通乱找git各命令含义, 以下内容感觉讲的很详细,可以很清楚理解git提交流程,博主把重要的信息用红字标注了,更加显眼. ...

  9. 第二章——建立一个HelloWorld项目,练习使用git的add/commit/push/pull/fetch/clone等基本命令。比较项目的新旧版本的差别-----答题者:徐潇瑞

    1.首先下载安装git,很简单所以就不详细说了,当弹出一个类似的命令窗口的东西,就说明Git安装成功 2.因为Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识 3.接着,注册githu ...

  10. git merge --squash 选项合并commit操作实例

     参考: [转] git merge 将多个commit合并为一条之--squash 选项 git checkout master git pull origin master # 本地先拉取最新的m ...

随机推荐

  1. Http 代理工具 实战 支持网页与QQ代理

    前言: 有些公司不让员工上Q或封掉某些网站,这时候,干着急没办法,只能鄱墙.如果上网搜代理IP,很少能用,用HTTP-Tunnel Client代理软件,免费的也是经常性的掉线.正好手头上有N台服务器 ...

  2. aardio桌面软件开发 简单,打包后文件小,支持 .net python 和 众多插件

    aardio 编程语言 - 官网 aardio  专注于桌面软件开发,17年一直保持非常活跃地更新( 更新日志 ),aardio 被多年用于生产项目实践,久经测试和锤炼.aardio 在诞生之初就设计 ...

  3. WPF 中使用附加属性解决 PasswordBox 的数据绑定问题

    1.前言 在 WPF 开发中 View 中的数据展示我们常通过 Binding 进行绑定.但是,使用 Binding 有一个前提:绑定的目标只能是依赖属性. 而 PasswordBox 控件中的 Pa ...

  4. SMB3.0多通道叠加双网卡提速

    SMB3.0多通道叠加双网卡提速 (双网卡.多网卡,NAS,局域网共享速度) WIN8及以上是默认开启的.(WIN10.WIN11 默认开启) 只需要同规格的网卡,比如你一张是1Gbps的,另一张网卡 ...

  5. vm ware 虚拟WIN XP 时卡

    主机是I7 9700,SN750 NVME 1T SSD, 32G 内存,VM WARE 14,理论上虚拟WIN XP 不会卡,但实际情况就是很卡. 虚拟WIN7 ,WIN 10,UBUNTU LIN ...

  6. 网络诊断工具traceroute的使用

    在 Linux 系统中,traceroute 是一个网络诊断工具,用于确定数据包从你的计算机到目标主机(如一个网站或远程服务器)所经过的路由路径. 如果你的系统中没有安装 traceroute,你可以 ...

  7. vue饼图

    结果图 原型 1 <template> 2 <!-- 左右柱状图 --> 3 <div ref="rankEcharts" :style=" ...

  8. Mysql中innodb的B+tree能存储多少数据?

    引言 InnoDB一棵3层B+树可以存放多少行数据?这个问题的简单回答是:约2千万.为什么是这么多呢?因为这是可以算出来的,要搞清楚这个问题,我们先从InnoDB索引数据结构.数据组织方式说起. 在计 ...

  9. AI赋能ITSM:企业运维跃迁之路

    随着企业信息化建设的深入,IT运维管理作为保证企业信息系统稳定运行的重要工作,越来越受到重视. 那么,什么是IT运维呢? 简单地说,IT运维是一系列维护.管理和优化企业IT基础设施.系统和应用程序的活 ...

  10. 笔记:Sublime Text3配置

    Tips:当你看到这个提示的时候,说明当前的文章是由原emlog博客系统搬迁至此的,文章发布时间已过于久远,编排和内容不一定完整,还请谅解` 笔记:Sublime Text3配置 日期:2017-12 ...