在日常的开发中,适用版本控制系统来进行协同开发已经是工作中的常态,使用比较多的要数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——链式操作

    链式操作,即连续操作. 例如: <!DOCTYPE html> <html> <head> <script src="https://cdn.boo ...

  2. GIT文件上传演示

    Be Written By Handat.憨大头 注:以下内容默认你已经做好了git工具的用户账户配置. (1)创建Gitee线上代码仓库,HTTPS协议地址就是仓库地址,如例https://gite ...

  3. ztree.js 禁止点击事件和鼠标禁用

    先看样式 var _t = this; var setting = { view: { fontCss: { color: "#5E5F61" }, showIcon: true, ...

  4. runliuv MSDN I TELL YOU

    runliuv MSDN I TELL YOU 老站点:WIN SEVER ,VISUAL STUDIO 早期版本 老站点:https://msdn.itellyou.cn/ 新站点:最近的WIN10 ...

  5. Spring源码——ConfigurationClassPostProcessor类

    引言 Spring容器中提供很多方便的注解供我们在工作中使用,比如@Configuration注解,里面可以在方法上定义@Bean注解,将调用方法返回的对象交由Bean容器进行管理,那么Spring框 ...

  6. 《软件性能测试分析与调优实践之路》第二版-手稿节选-Mysql数据库性能定位与分析

    在做MySQL数据的性能定位前,需要先知道MySQL查询时数据库内部的执行过程.只有弄清SQL的执行过程,才能对执行过程中的每一步的性能做定位分析.如图6-2-1所示. 图6-2-1 从图中可以看到, ...

  7. 阿里也出手了!Spring CloudAlibaba AI问世了

    写在前面 在之前的文章中我们有介绍过SpringAI这个项目.SpringAI 是Spring 官方社区项目,旨在简化 Java AI 应用程序开发, 让 Java 开发者想使用 Spring 开发普 ...

  8. python的requirements.txt_维护项目依赖包

    pycharm没有类似maven用于管理依赖包的工具,当一个项目在新的环境运行前,需要将对应依赖的包下载回来,如果一个个下载,会出现缺漏或版本号不对应的情况,这个时候可以用requirements.t ...

  9. 纯代码搭建iOS三级结构(UITabbarController+UINavigationController+UIViewController)

    声明:这里所指的三级结构不是网上百度中所经常提及的三级框架或者MVC模式,而是指UITabbarController+UINavigationController+UIViewController. ...

  10. 保护您的Web应用:使用雷池(SafeLine)WAF的入门指南

    雷池(SafeLine)是长亭科技耗时近 10 年倾情打造的 WAF,核心检测能力由智能语义分析算法驱动.旨在提供卓越的安全保护.本文将带您一步步了解如何安装.配置和测试SafeLine,以及如何利用 ...