git操作之一:git add/commit/init
在日常的开发中,适用版本控制系统来进行协同开发已经是工作中的常态,使用比较多的要数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的更多相关文章
- AS中Git操作和Git工作流
查阅并学习安卓中如何使用Git,并扩展学了下Gitflow工作流程,以下是我觉得有用,系统,详细的相关文章. AS中Git操作系列 https://www.jianshu.com/p/0cc226ee ...
- git操作之git clean删除一些没有git add的文件
删除 一些 没有 git add 的 文件: git clean 参数 -n 显示 将要 删除的 文件 和 目录 -f 删除 文件,-df 删除 文件 和 目录
- git 操作实践
git操作: - git是一个用于帮助用户实现版本控制的软件 #首先创建项目 1. cd到项目文件目录 2. 鼠标右键点击 Git Bash Here 3. git init #在项目文件目录生成 . ...
- 使用Gitkraken进行其他Git操作
使用Gitkraken进行其他Git操作 查看某次 commit 的文件改动 使用 Gitkraken 能非常方便的看到任意一次的 commit 对项目文件的改动. 具体操作是:在树状分支图上单击某个 ...
- Git 学习(三)本地仓库操作——git add & commit
Git 学习(三)本地仓库操作——git add & commit Git 和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念.这在上文已有提及,本文具体说明什么是工作区及暂存区,以及 ...
- Git学习 --> 个人常用命令add,commit以及push
Git命令行配置1 安装Github2 安装msysgit3 要配置用户名和油箱 git config --global user.name <用户名> 我的命令就是:git confi ...
- [git] 细说commit (git add/commit/diff/rm/reset 以及 index 的概念)
http://kasicass.blog.163.com/blog/static/39561920133294219374/ 创建测试仓库 $ git init $ echo "line o ...
- 【记录】gitLab git命令add commit fetch pull push
最近项目使用git进行版本控制,由于之前用svn,所以对git不是太熟悉,网上一通乱找git各命令含义, 以下内容感觉讲的很详细,可以很清楚理解git提交流程,博主把重要的信息用红字标注了,更加显眼. ...
- 第二章——建立一个HelloWorld项目,练习使用git的add/commit/push/pull/fetch/clone等基本命令。比较项目的新旧版本的差别-----答题者:徐潇瑞
1.首先下载安装git,很简单所以就不详细说了,当弹出一个类似的命令窗口的东西,就说明Git安装成功 2.因为Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识 3.接着,注册githu ...
- git merge --squash 选项合并commit操作实例
参考: [转] git merge 将多个commit合并为一条之--squash 选项 git checkout master git pull origin master # 本地先拉取最新的m ...
随机推荐
- HTML——标签元素的两大类
块级标签(block) – 独占一行 内联标签(inline) – 按文本内容占位 div标签和span标签 <div>只是一个块级元素,并无实际的意义.主要通过CSS样式为其赋予不同的表 ...
- 8.17考试总结(NOIP模拟42)[卷·简单题·粉丝·字符串]
你的败因只有一个,就是与我为敌. T1 卷 解题思路 乍一看,简单的树形 DP . 后来一看数据范围,发现事实并非如此.(\((10^9)^{2\times 10^5}\)????) 毕竟取 \( ...
- 【Effective C++】设计与声明——reference篇
以pass-by-reference-to-const替换pass-by-value 缺省情况下C++以by value方式传递对象至(或来自)函数.除非你另外指定,否则函数参数都是以实际实参的复件( ...
- android端http请求重发问题定位过程
昨天生产系统上报出一个问题:用户做一次扫码交易,出现了两条交易记录.幸好支付渠道对支付码有限制只成功了一笔,没有出现多扣钱的问题.现在我们要排查一下,为什么做一次操作会出现两条交易记录.我们的后台服务 ...
- python-一种去掉前后缀获取子串的方法
假设有一个字符串,其数据组成方式为:"mode_id1_str_id2",其中id1和id2为任意个数的数字,若存在mode,则id1必然也存在,否则都不存在:id2可有可没有. ...
- 算法学习笔记(35): CMD Tree
对于 CMD Tree 的理解 原文:# 一种轻量级平衡树 这,EXSGT,感觉很像支持分裂 WBLT,但是相对来说思路很简单. 首先,在原文中说了: 能以均摊 \(\Theta(\log n)\) ...
- CF1626E
problem 我们可以考虑什么情况下这个点一定可以到黑点. \(c_i = 1\). \(c_{son} = 1\). 儿子可以,并且儿子子树内有两个黑点 请两个不必多说,看最后一个. 假如说考虑他 ...
- RSS 解析:全球内容分发的利器及使用技巧
使用 RSS 可以将最新的网络内容从一个网站分发到全球数千个其他网站. RSS 允许快速浏览新闻和更新. RSS 文档示例 <?xml version="1.0" encod ...
- Linux Debian安装教程
Debian 是一个免费的开源操作系统,是最古老的 Linux 发行版之一,于 1993 年由 Ian Murdock 创建.它采用了自由软件协议,并且由志愿者社区维护和支持.Debian 的目标是创 ...
- Json字符串转换处理html编码格式,= \u003d 处理
Json字符串转换处理html编码格式,= \u003d 处理 import com.alibaba.fastjson.annotation.JSONField; import com.faster ...