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. 怎样使Android应用程序获得root权限

    Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 写这篇文章前,首先要感谢 Simon_fu ,他的两篇关于 root 权 ...

  2. ZOJ 2675 Little Mammoth(计算几何)

    圆形与矩形截面的面积 三角仍然可以做到这一点 代码: #include<stdio.h> #include<string.h> #include<stdlib.h> ...

  3. How to: Installshield做安装包时如何添加文件

    原文:How to: Installshield做安装包时如何添加文件 我一直以为这不是一个问题,可是没想到在几个群内,对于如何向安装包添加文件不解的大有人在,今日稍暇,整理成篇,以供参考 首先我想再 ...

  4. How to:installshield安装包怎样才能出现选择路径的界面?

    原文:How to:installshield安装包怎样才能出现选择路径的界面? 这个问题新手问的很多,installshield的安装包默认设置下选择路径的界面藏在Custom安装类型下.在做完安装 ...

  5. Python 图论工具

    networkx: 一个用Python语言开发的图论与复杂网络建模工具, 内置了经常使用的图与复杂网络分析算法, 能够方便的进行复杂网络数据分析.仿真建模等工作. 依赖工具: numpy  pypar ...

  6. ORACLE PL/SQL编程之八:把触发器说透

    原文:ORACLE PL/SQL编程之八:把触发器说透 ORACLE PL/SQL编程之八: 把触发器说透 大家一定要评论呀,感谢!光发表就花了我将近一个下午. 本篇主要内容如下: 8.1 触发器类型 ...

  7. Windows 8 常用第三方SDK使用概览

    原文:Windows 8 常用第三方SDK使用概览 应用开发过程中,我们或多或少会使用到第三方的公司平台的功能,例如:新浪微博.人人网.高德地图等. 那么在Windows 8 Store App开发中 ...

  8. 初探async await 实现多线程处理

    初探async await 实现多线程处理 这是微软关于Async的介绍:http://msdn.microsoft.com/en-us/library/hh156513.aspx 这是await : ...

  9. Linux Kernel的Makefile与Kconfig文件的语法

    https://www.kernel.org/doc/Documentation/kbuild/kconfig-language.txt Introduction ------------ The c ...

  10. 布尔逻辑运算,goto语句

    布尔逻辑 bool类型可以有两个值:true或者false. 布尔比较需要使用布尔比较运算符(关系运算符),下图:var1为布尔类型的变量,var2,var3则可以是不同类型.