Git初学札记(三)————创建Git版本库

引言

版本库即所谓的Git仓库,英文名称是Repository,可以简单理解为一个目录(.git folder),这个目录可以记录并保存直接父级及其子目录下的全部文本文件的修改操作,谓之“版本控制”!

手动建库

不论是在linux系统下还是windows下,建库之前都需要将用户当前位置切换到我们希望建库的地方。

比如在windows下,如果我希望管理一个文件夹之内的所有修改,那么我们需要先进入到这个文件夹中,打开git bash命令行窗口,输入如下图所示指令。


创建完成!仓库创建成功后,当前目录会出现一个.git隐藏文件夹,这个文件夹就是一个可以追踪当前文件夹全部变化的Git仓库。如图所示:


EGit创建版本库

以Eclipse Project创建版本库为例,我们为eclipse中的项目创建一个专属于它自己的版本库。这里需要说明一点,EGit插件官方文档上不建议在项目根目录下创建项目版本库,这时候我的第一反应是项目的版本库与项目源码分离开来,即项目源码可以存储在workspace下,而版本库存储在另一个目录下。就好像我们安装迅雷的时候,迅雷的安装目录与迅雷下载的目录分离开来一样。

但是,事实并不是这样!当我选择一个项目根目录以外的新的git仓库路径的时候,比如C:/用户/mht/GitRepostories文件夹,那么我们的项目源文件也会同时与.git文件夹一同被转移到C:/用户/mht/GitRepostories文件夹下,而脱离workspace对项目的统一存储!所以,对于这一点无法接受的小伙伴,需要谨慎执行这样选择。因此可以看出,Git版本库的管理范围只能是它的直接父级目录下的所有内容。

所以,我还是建议建库的方式依然是以项目的根目录作为git仓库的存储路径,如不能苟同者,欢迎评论区拍砖!

具体步骤如下:

首先,有一个这样的小项目:


第一步:右键项目名称,选择:Team > Share Project...


第二步:选择Git方式


第三步:完成建库向导程序



点击Create Repository按钮之后,EGit就已经完成了git init的操作,我们在项目的根目录下就可以看到一个.git隐藏文件夹:


第四步:项目提交

第三步执行结束后,我们已经完成了本地仓库的创建,这个时候,我们只是拥有了一个可以管理项目版本的空仓库,还没有对任何文件进行追踪监控。

使用git status命令来查看一下此时的Git仓库的状态信息:


可以看到提示信息,所有的项目文件都是未跟踪状态。在Eclipse中我们会看到每个项目元素(文件夹,包,java文件等)右下角都有一个“小问号”()这代表文件是新加文件,版本库未对其进行变化跟踪,这个时候我们可以选择ignore或者提交文件。

1、添加gitignore的方式如下

选择不需要版本控制的文件或文件夹等,右键,选择Team>Ignore :


2、提交的方式如下

这里演示提交整个项目源码。右键项目,选择Team>Commit...


Git Staging视图中可以看到我们准备Add到暂存区中的全部文件(这一步对应git add命令):


添加,并提交:


项目提交成功,并且不会有任何提示信息,我们只能看到项目上有了一些微小的变化:


我们可以通过命令行来查看一下git仓库的状态:


完美!؏؏☝ᖗ乛◡乛ᖘ☝؏؏ 


总结

综上就是版本库的创建以及项目的提交方式,主要还是通过EGit来进行操作,并且配合了git命令行的一些操作穿插,如有疑问,欢迎文末留言!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/558974.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Git初学札记(四)————Git Push的常规操作与Pull冲突解决

目录 引言 Git命令行的远程Push EGit Push操作中的冲突问题 同步 工作区与本地库同步 工作区与远程库同步 图标 重点 引言 在团队开发当中,Git Push是多人协作环节中的最重要的一环可能没有之一。同SVN一样,push操作可以看做是对远端程序的提交…

Git初学札记(五)————Branch分支管理

引言 正如之前的博客中提到的,Git区别于Svn的一个最明显的功能就是分支管理功能。 那么什么是分支?分支又能为我们的开发带来什么翻天覆地的变化呢?(为了使博客的内容更具权威性和专业性,以下部分内容摘自官方文档《Gi…

Git初学札记(六)————在远程新建本地Branch与在本地新建远程Branch

引言 本篇博客介绍将现有的本地分支以新的分支形式推送到远程库中,和以新的分支的形式从远程库中拉取一个分支。这两个功能都是比较简单的操作,但是在实际开发中,可能会在开发初期有所触及。比如我们希望将远程的dev分支拉取到本地来进行开发…

Git初学札记(七)————合并分支(merge)

目录 引言 开始Merge 1、History视图 2、Team菜单 3、Git Repositories视图 巧用Git Staging视图 放弃Merging 可能的Merge结果 引言 Git鼓励开发者使用分支来进行程序的开发。但是最终只会有一个版本发行出去,因此,我们需要将开发好的分支merg…

公钥,私钥和数字签名这样理解轻松入门!

公钥,私钥和数字签名这样理解轻松入门!参考博文:https://blog.csdn.net/21aspnet/article/details/7249401 (公钥和私钥是成对出现的,可以把他们看成锁头和钥匙的关系,公钥为锁头,私钥是钥匙&am…

Spring Boot + JSP

目录 引言 Maven依赖 JSP页面 application.properties配置 controller 结果展示 引言 在尝试使用shiro的时候需要页面登录的加持,但是长期的前后端分离工作,导致页面的知识几乎忘光。突然想通过jsp这种简单的形式来学习其他的技术,作为…

https和http的区别

https和http的区别一、基本概念(http服务器-->本地浏览器,正确快速传输;https安全套接字层,http的安全版本, httpssl层,建立一个信息安全的通道,保证数据传输的安全,确认网站的…

Markdown简明使用

#Markdown使用技巧 ##代码背景 可以使用反引号,来将特殊文字括起来,这样Markdown会自动为引号中的内容加入背景。 形如:内容 例如:Java project > team > share project ##图片上传 图片无法像正常的文本编辑器那样直接粘贴…

Spring Boot + Mybatis 快速整合

引言 最近在工作结束后抽时间学习了一下mybatis的知识,因为之前有学习过,但是经久不用,也未曾踏实地整理,因此有所淡忘。 super meeting会议管理系统是我厂最近开发的一套会议预约平台。持久层框架经讨论,选为灵活优…

SQL关联查询————LEFT JOIN关键字的使用

引言 关联查询一直是非常重要的SQL使用技巧。 在一次查询操作中&#xff0c;使用mybatis进行条件查询&#xff0c;在没有使用 LEFT JOIN 关键字的情况下是这样写的&#xff1a; <!-- 查找成员 --><select id"selectUsers" resultMap"selectUsers_Res…

Java知识点全面汇总

&#xfeff;&#xfeff; 相关概念 面向对象的三个特征 封装&#xff0c;继承&#xff0c;多态&#xff0c;这个应该是人人皆知&#xff0c;有时候也会加上抽象。 多态的好处 允许不同类对象对同一消息做出响应&#xff0c;即同一消息可以根据发送对象的不同而采用多种不…

Git初学札记(八)————版本回退

引言 不论是使用svn还是git&#xff0c;版本回退都是一个非常重要的功能。 EGit版本回退 在History视图中&#xff0c;我们可以看到我们的commit历史&#xff0c;选中任意一个commit版本&#xff0c;右键reset —>Hard &#xff0c;即可回退到指定版本。 注意&#xff0c…

Java实现用户头像上传(修改默认文件大小限制)

概述 每次说起文件上传&#xff0c;就不得不提一下前端的实现方式&#xff0c;说来也奇怪&#xff0c;本博主最热门的博客居然也是文件上传&#xff0c;3万多的访问量占了总访问量的一多半&#xff1a;《传统form表单提交方式的文件上传与文件存储》&#xff0c;而且&#xff…

垃圾回收机制和JVM垃圾回收常见算法

垃圾回收机制和JVM垃圾回收常见算法垃圾回收的好处和特点&#xff1a; 好处&#xff1a; 1. 提高编程效率&#xff1b; 2. 垃圾回收机制保护程序的完整性。特点&#xff1a; 1. 只能回收无用对象的内存空间&#xff0c;对其他物理资源无能为力&#xff1b; 2. 为了更快回收不再…

Java 多线程 —— 死锁与锁的错误用法

引言 死锁状态的大致情况是&#xff1a;Thread_1在获得A对象的锁后&#xff0c;紧接着去请求B对象的锁 &#xff0c;Thread_2在获得了B对象的锁后&#xff0c;紧接着又去请求A对象的锁&#xff0c;如下图&#xff1a; 一、模拟一个死锁 public class DeadLockDemo {static cl…

Java零基础并发编程入门

Java零基础并发编程入门并发编程主要包括&#xff1a; 线程&#xff0c;同步&#xff0c;future&#xff0c;锁&#xff0c;fork/join&#xff0c; volatile&#xff0c;信号量&#xff0c;cas&#xff08;原子性&#xff0c;可见性&#xff0c;顺序一致性&#xff09;&#xf…

Java内置锁——synchronized

一、给对象加把锁 synchronized关键字是Java唯一内置的互斥锁&#xff0c;通过关键字 synchronized 可以保证同一时刻只有一个线程获得某个同步代码块的执行权&#xff0c;但不会导致其他线程执行非同步方法时阻塞。 当获得锁的线程执行完同步代码块后&#xff0c;线程会将锁…

处理对象(toString()方法详解和==与equals方法的区别)

处理对象&#xff08;toString&#xff08;&#xff09;方法详解和与equals方法的区别&#xff09;toString&#xff08;&#xff09;是一个非常特殊的方法&#xff0c;它是一个自我描述的方法。当程序员直接打印该对象的时候&#xff0c;系统会输出该对象的“自我描述”的信息…

Java并发编程实战——volatile

引言 Java 语言提供了一种弱同步机制——volatile 变量。它的作用是确保将变量的更新操作通知到其他线程。 当把变量声明为volatile后&#xff0c;编译器和运行时都会注意到这个变量是共享的&#xff0c;因此不会将该变量上的操作与其他内存操作一起重排序。 另外&#xff0…

Java中类的加载顺序介绍(ClassLoader)

Java中类的加载顺序介绍(ClassLoader)1、ClassNotFoundExcetpion   我们在开发中&#xff0c;经常可以遇见java.lang.ClassNotFoundExcetpion这个异常&#xff0c;今天我就来总结一下这个问题。对于这个异常&#xff0c;它实质涉及到了java技术体系中的类加载。Java的类加载机…