git的初步使用---本地代码库的使用和提交
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本地代码库回滚(webstorm下)
git本地代码库回滚(webstorm下) 1. 场景 添加了一个文件[file-for-test.js]到git的控制下(并没有push到远程分支上) 进行了三次修改,并分别进行了三次commit( ...
- Git 笔记三 Git的初步使用
Git 笔记三 Git的初步使用 在上一篇中,学习了如何配置Git环境,这一篇,开始学习Git的初步使用.Git的初步使用还是很简单的.总体上知道git init, git clone, git ad ...
- Git的初步学习
前言 感谢! 承蒙关照~ Git的初步学习 为什么要用Git和Github呢?它们的出现是为了用于提交项目和存储项目的,是一种很方便的项目管理软件和网址地址. 接下来看看,一家公司的基本流程图: 集中 ...
- git学习2:版本库
创建版本库 版本库,又称仓库,英文名为repository,版本库内的所有文件都可以被Git管理起来,即每个文件的修改.删除,Git都能跟踪. 1,在目录中创建版本库 在目录中有两种创建版本库的方法, ...
- git无法clone远程代码库及git代理设置
git作为一个版本管理神器,日常工作中自然也就少不了了:特别是Android开发,github和google是逃不过的了.然而很多时候需要用到git克隆远程的代码库,众所周知的原因google.and ...
- 浅谈自我对git的初步认识
本学期我们新增了一门课程,那就是软件工程,不知道为什么,感觉有种莫名的高大上.哈哈!难道是这个名称太抽象了吗?这个问题我感觉到后来肯定就明白了. 第一次博客,感觉好紧张哦,嘿嘿!老师让我们谈谈对git ...
- 五、在IDEA中使用GIt版本控制并将本地代码上传至Github
一.安装git Git工具下载:https://git-scm.com/downloads 从官网下载.安装很简单,基本都是下一步. 安装完的第一件事情就是创建一个Git用户: git con ...
- git学习01- 下载安装&初始化库&提交
1.windows下安装git,git官网下载安装包安装 2.本地创建一个目录,在目录下创建1个文本 readme.txt 3.cmd进入到该目录,执行git init,初始化git仓库 4.添加文件 ...
- Git安装及创建版本库
一.在Windows上安装Git 1.虽然用于开发的系统最好是用Mac或者Linux,但绝大多数新人都是用Windows进行开发.Windows系统上也有提供了Git(Windows版),下载地址:h ...
随机推荐
- Android Notification通知详细解释
Android Notification通知具体解释 Notification: (一).简单介绍: 显示在手机状态栏的通知. Notification所代表的是一种具有全局效果的通 ...
- C语言编写Windows服务程序
原文:C语言编写Windows服务程序 #include <Windows.h> #include <stdio.h> #define SLEEP_TIME 5000 // 间 ...
- ASP.NET 5 Identity
ASP.NET 5 Identity “跌倒了”指的是这一篇博文:爱与恨的抉择:ASP.NET 5+EntityFramework 7 如果想了解 ASP.NET Identity 的“历史”及“ ...
- leetcod Pow(x, n)
题目:就是实现一个指数函数. 直接用一个while一直乘以n词肯定是会超时的. 自己写了用递归(而且是很挫的递归),测试了无数次,根据每个case去修改代码.终于可以AC了.不忍直视,自己写了好长,如 ...
- 学习PHP时的一些总结(四)
目录的基本操作: 在系统的每个目录下都有两个特殊的目录"."和".." , 分别指示当前目录和当前目录的父目录. dirname() 返回目录的名称 path ...
- 【WebSocket初探
】
众所周知,socket是编写网络通信应用的基本技术,网络数据交换大多直接或间接通过socket进行.对于直接使用socket的client与服务端,一旦连接被建立则均可主动向对方传送数据,而对于使用更 ...
- 网易ios 面试
1 说说 你对 MRC和 ARC 的理解 2 对OC内存分析 有什么好的方法, 3 corePlot 4 pop 动画 5 cocoapods 6 GCD 7 瀑布流 及 uicollection ...
- linux下搭建SVN服务器完全手册-很强大!!!!!
系统环境 RHEL5.4最小化安装(关iptables,关selinux) + ssh + yum 一,安装必须的软件包. yum install subversion ( ...
- 【转】视差滚动(Parallax Scrolling)效果的原理和实现
原文:http://www.cnblogs.com/JoannaQ/archive/2013/02/08/2909111.html 视差滚动(Parallax Scrolling)是指让多层背景以不同 ...
- linux sendmail 邮件服务器架设(fedora 8)
linux sendmail 邮件服务器架设(fedora 8) 2009-01-22 17:27 3316人阅读 评论(2) 收藏 举报 邮件服务器linuxprotocolscaching测试lo ...