git的初步使用---本地代码库的使用和提交

git是一个好东西,但对于新手来说,这个工具并不好使用,因为它里面涉及到很多东西,而这些东西新手一时间是无法理解的。不幸的是,本人就是新手一枚,所以,这里并不会讲太多有关于git的原理,什么样的阶段就该做什么样的事情,先从熟悉工具的常用用法开始。

使用git,首先必须是在github上创建一个repository。我们可以在github上根据教程创建一个,这里不讲步骤,上面讲得非常清楚。

我先在github上创建一个远程库"Pratice"。由于我之前在github上已经有一个远程库了,为了防止提交文件时产生混乱,我需要为这个新的repository创建一个新的远程库。

默认下我们是有一个远程库:origin,但通过上面的操作,现在我们有新的远程库:pratice。而且我们还可以通过rename来重新命名。

通过add在分支上添加新的文件,然后再commit,-m后面的描述非常重要,当我们需要回滚代码版本的时候。如果在remote add origin的时候,出现问题,像是上面这样,可以用remote rm origin来将之前提交上去的远程库清除,这个清除是清除本地远程库。然后我们再push origin master,将该远程库的master分支上的内容push上去。如果这边出现问题,可以使用pull origin master,道理和上面的remote rm origin是一样的。

通过上面的命令,我们现在可以在github上看看我们的repository:

奇怪的是,我们明明只是想将Pratice这个文件夹推上去,但是却发现Bluetooth也推上去了。这个是因为mater这个分支中包含有Bluetooth,所以每次推上去的时候都会将Bluetooth推上去。

master是我们的默认分支,我们可以删除该分支,然后创建新的分支:

这里通过branch创建新的分支,然后通过checkout跳转到新的分支上。这里我们就不删除master,毕竟我有很多工作都是在该分支上。

创建并跳转到新的分支上后,我们可以在该分支上提交,然后再和master分支merge:

先是跳转到master分支上,然后通过diff查看两个分支上的不同,接着就是merge。没有冲突,两个分支上的内容就会合并到一块,如果有冲突,会输出相应的信息,这时候我们只要根据该信息对发生冲突的文件进行修改。

当然,上面的问题我们还是没有解决:本来只是想要推Pratice这个文件夹上去,但是却不小心把Bluetooth文件夹推上去了,怎么删除这个啊?很可惜,我没有找到简单方便的指令,我的方法就是重新创建一个新的repository,然后将正确的内容推送进来。如果读者们有好的方法,还请指出,之前已经试过了很多网上的教程,都没有任何作用。

使用git的最大好处,就是它可以随时随地的查看代码版本而不需要联网,因为它将代码版本放在了本地。

使用log可以查看自己的提交记录,注意到我们提交时候的描述信息了吧!是的,这是为了方便我们找回代码版本,当然,通过查看日期也还是可以找到的。

我们现在想要将代码回滚到第一次提交时的版本:

HEAD~1表示回滚到上一次提交,这时候打开本地的文件夹,就会发现代码已经回滚到了第一次提交时的状态。

更直接的方法就是利用每次commit时的哈希值:

只需要开头5位就行,现在我们又回滚到了merge的时候。

只要熟悉git的使用,就会发现git真的是一个好东西。

这里之所以不讲git的原理,是因为怕混淆我们的注意力,作为新手,首先应该是熟悉工具的使用,然后再掌握工具的原理,否则,在开头就死在一大堆细节中。

如果有什么问题或者好的建议,衷心希望读者能够指出,第一次使用git,总是有很多问题的。

 
 
 
标签: git

git的初步使用---本地代码库的使用和提交的更多相关文章

  1. git本地代码库回滚(webstorm下)

    git本地代码库回滚(webstorm下) 1. 场景 添加了一个文件[file-for-test.js]到git的控制下(并没有push到远程分支上) 进行了三次修改,并分别进行了三次commit( ...

  2. Git 笔记三 Git的初步使用

    Git 笔记三 Git的初步使用 在上一篇中,学习了如何配置Git环境,这一篇,开始学习Git的初步使用.Git的初步使用还是很简单的.总体上知道git init, git clone, git ad ...

  3. Git的初步学习

    前言 感谢! 承蒙关照~ Git的初步学习 为什么要用Git和Github呢?它们的出现是为了用于提交项目和存储项目的,是一种很方便的项目管理软件和网址地址. 接下来看看,一家公司的基本流程图: 集中 ...

  4. git学习2:版本库

    创建版本库 版本库,又称仓库,英文名为repository,版本库内的所有文件都可以被Git管理起来,即每个文件的修改.删除,Git都能跟踪. 1,在目录中创建版本库 在目录中有两种创建版本库的方法, ...

  5. git无法clone远程代码库及git代理设置

    git作为一个版本管理神器,日常工作中自然也就少不了了:特别是Android开发,github和google是逃不过的了.然而很多时候需要用到git克隆远程的代码库,众所周知的原因google.and ...

  6. 浅谈自我对git的初步认识

    本学期我们新增了一门课程,那就是软件工程,不知道为什么,感觉有种莫名的高大上.哈哈!难道是这个名称太抽象了吗?这个问题我感觉到后来肯定就明白了. 第一次博客,感觉好紧张哦,嘿嘿!老师让我们谈谈对git ...

  7. 五、在IDEA中使用GIt版本控制并将本地代码上传至Github

    一.安装git     Git工具下载:https://git-scm.com/downloads 从官网下载.安装很简单,基本都是下一步. 安装完的第一件事情就是创建一个Git用户: git con ...

  8. git学习01- 下载安装&初始化库&提交

    1.windows下安装git,git官网下载安装包安装 2.本地创建一个目录,在目录下创建1个文本 readme.txt 3.cmd进入到该目录,执行git init,初始化git仓库 4.添加文件 ...

  9. Git安装及创建版本库

    一.在Windows上安装Git 1.虽然用于开发的系统最好是用Mac或者Linux,但绝大多数新人都是用Windows进行开发.Windows系统上也有提供了Git(Windows版),下载地址:h ...

随机推荐

  1. sax(用于处理XML事件驱动的推模型)解析例子

    SAX解析 Java程序如下: import org.xml.sax.helpers.DefaultHandler; import javax.xml.parsers.SAXParser; impor ...

  2. 为网上流行论点“UIAutomator不能通过中文文本查找控件”正名

    1. 问题描述和起因 相信大家学习UIAutomator一开始的时候必然会看过一下这篇文章. Android自动化测试(UiAutomator)简要介绍 因为你在百度输入UIAutomator搜索的时 ...

  3. SQL点滴26—常见T-SQL面试解析

    原文:SQL点滴26-常见T-SQL面试解析 它山之石可以攻玉,这一篇是读别人的博客后写下的,不是原原本本的转载,加入了自己的分析过程和演练.sql语句可以解决很多的复杂业务,避免过多的项目代码,下面 ...

  4. Visual Studio 单元测试之二---顺序单元测试

    原文:Visual Studio 单元测试之二---顺序单元测试 此文是上一篇博文:Visual Studio 单元测试之一---普通单元测试的后续篇章.如果读者对Visual Studio的单元测试 ...

  5. ASP.NET中XML转JSON的方法

    原文:ASP.NET中XML转JSON的方法 许多应用程序都将数据存储为XML的格式,而且会将数据以JSON的格式发送到客户端以做进一步处理.要实现这一点,它们必须将XML格式转换为JSON格式. X ...

  6. CSS边框阴影效果

    ul { margin:5px 0 0 0; padding:0; list-style:none; width:300px; background:#f1f1f1; }li { border-lef ...

  7. MVC5系列——布局视图

    MVC5系列——布局视图 目录 系列文章 概述 布局视图 系列文章 [Asp.net MVC]Asp.net MVC5系列——第一个项目 [Asp.net MVC]Asp.net MVC5系列——添加 ...

  8. Android在包名称更改项目

    通常时引起包名称的变化R文件错误,有时原因不明Manifest混乱多个文本文件. 所以,我们现在感到最简单方便的包名称变更流程文件,如以下: 如果程序包命名com.pepper.util,我们将更改包 ...

  9. mediawiki在windows下的安装

    mediawiki在windows下的安装 对于刚接触wiki的朋友们来说,配置一个服务器环境,安装并运行mediawiki是一件很麻烦的事情,在这里,我尽量用通俗易懂的语言,介绍mw(mediawi ...

  10. 开始DDD

    如何开始DDD(完) 连续写了两篇文章,这一篇我想是序的完结篇了.结合用户注册的例子再将他简单丰富一下.在这里只添加一个简单需求,就是用户注册成功后给用户发一封邮件.补充一下之前的代码 public ...