在日常的开发中,适用版本控制系统来进行协同开发已经是工作中的常态,使用比较多的要数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. jQuery实现简单的模态框

    <!-- jquery模态框 --> <!DOCTYPE html> <html lang="en"> <head> <met ...

  2. ZDOCK3.02安装及注意事项:基于Linux Ubuntu系统操作

    cd zdock3.0.2_linux_x64代码mark_sur model2choose.pdb model2choose_m.pdbmark_sur 1bqi2.pdb 1bqi2_m.pdbz ...

  3. 安装numpy:conda install nampy==1.16 时报错An HTTP error occurred when trying to retrieve this URL.

    安装numpy:conda install nampy==1.16 时报错An HTTP error occurred when trying to retrieve this URL. HTTP e ...

  4. fabric compose文件解读(Orderer篇)

    orderer在fabric中的作用是排序,另外orderer有点像是管理节点一样,通道之类的都是在orderer的基础之上建立的,有点像比特币,以太坊上面的全节点一样,不过责任比全节点少很多,甚至都 ...

  5. 使用python在k8s中创建一个pod

    要在Kubernetes (k8s) 中使用Python创建一个Pod,你可以使用Kubernetes Python客户端库(通常称为kubernetes或kubernetes-client).以下是 ...

  6. 工作中常用Less知识点实践总结

    我所理解的Less的一些好处 函数式编程css 自定义变量用于整体主题调整 嵌套语法简化开发复杂度 mixin的写法 .defaultBorder(@width: 10px, @style: soli ...

  7. C#.NET AES CBC 加密

    重点: 1. KEY 和 IV 转 byte[] 时的编码. 2.要加密的字符串转 byte[] 时的编码. 3.AES 的PADDING,MODE. 4.加密后的byte[] 转字符串时的编码. 先 ...

  8. OpenSSL静态库交叉编译

    一.编译前环境准备 使用的内核:4.15.0-118-generic(命令:uname -r可以查看) 交叉编译器:aarch64-linux-gnu-gcc openssl源码:openssl-1. ...

  9. 在Linux驱动中使用regmap

    背景 在学习SPI的时候,看到了某个rtc驱动中用到了regmap,在学习了对应的原理以后,也记录一下如何使用. 介绍 在Linu 3.1开始,Linux引入了regmap来统一管理内核的I2C, S ...

  10. [ABC184F] Programming Contest题解

    前置知识 meet in middle (折半搜索) 会的大佬请跳过 不会的请自己前往oi wiki或CSDN(百度吧,少年) 解题思路 纯暴力 看完题目考虑将每一种情况计算出来,排序后找不超过T的最 ...