目前常用的项目版本管理,协同开发的工具有SVN和GIT,本次就记录一下GIT的基本使用。

  git下载地址:https://git-scm.com/downloads

  *根据自己的操作系统进行选择(这里就省略了GIT的安装了)

  这个时候我们在D盘创建一个文件夹用来演示git的基本指令的使用。(创建的文件夹要求是英文且无空格。)

  进入到 gittest 文件夹 然后在任意位置点击鼠标右键选择 Git Bash Here

  

  此时我们需要将当前文件夹变成一个git本地仓库,使用指令是 git init

  执行了指令后,我们可以看到提示说在我们本地创建完成一个本地仓库名字为.git,这个.git文件夹是一个隐藏文件,只要打开显示隐藏文件才能看到。

  初始化本地仓库以后,我们需要设置签名,设置签名的话有两种,一种是仓库级的表示只在当前的本地仓库有效,还有一种是系统级别的,就在只要是在这个计算机上的所有项目都有效。指令如下:

  仓库级:git config user.name xxxx

      git config user.email xxxx

  系统级:git config --global user.name xxxx

      git config --global user.emal xxxx

  

  这里我就设置了一个仓库级的签名,设置完成以后我们可以在.git目录下查看到

  设置完这些以后,我们开始对本地仓库进行操作

  一、添加一个文件到本地仓库

  1、本地仓库基本操作

  在文件中随意输入一些文字,文件输入需要先按键盘的   i    才可以进行编辑文本,确认以后,先按 esc  在输入 :wq   进行保存退出

  查看当前git的工作区情况(git status)

  我们可以发现,目前提示我们要我们将文件添加到缓存区 (git add 文件名)

  继续查看当前状态

  当前表示说我们已经将文件提交到了缓存区,我们可以使用 git rm --cached 文件名   指令将文件从缓存中取出来。

  我们将文件再次添加到缓存区,然后再使用 commit 对文件进行提交

  指令解析:git commit -m "在此处写对本次提交的注释" 文件名

  最后提交完成以后,我们可看到提示表示,工作区和缓存区没有要提交的文件

  2、文件的版本切换

  首先我们查看一下当前在git中保存有哪些版本,使用 git log

  可以看到,目前就知道一个版本, HEAD 就是一个指针,执行的当前的版本

  我在git中新增了几个版本,当前HEAD指针指向的就是最后一个提交的版本。查看当前版本中的内容

  这里再记录一下, 因为如果我们使用git log 来查看版本的话,对于大量的版本来说就不太方便, 我们可以采用另外一个方式   git reflog

  这种方式相对来说就比较的简洁。然后我们开始进行文件版本的切换(git reset --hard 版本号)

  此时我们可以看到当前指针指向了第一次提交的版本,再查看文件内容

  这里可以看到文件内容就是第一次提交的内容

  3、分支的操作

  分支的好处:例如我们在开发时,一个新人来了,一般我们都不会让他直接的将代码加入到我们的代码中来,所以这个时候我们会让他先创建一个分支,让他在这个分支中书写代码,

        等他写完了再将代码合并到主干来。

  创建分支指令:git branch [分支名]

  查看当前所以分支 git branch -v

  切换分支(git checkout [分支名])

  在当前分支对文件进行修改,然后提交到本地仓库

  切换到主干,将分支进行合并

  在对分支进行合并时,就有了冲突,因为我们在分支中对文件进行了修改,主干不知道,这个时候主干就将分支合并过来后git就会告诉我们有冲突需要处理

  我们对文件进行修改,改成我们所需要的样子,然后再重新提交到本地仓库

  我们将文件的冲突解决好后,重新添加到缓存区,然后再提交到本地仓库。但是这里有一个注意事项

  ****** 解决冲突后的文件提交,不要带文件名。

git 的那点东西,随心记的更多相关文章

  1. 如何使用Git 下载GitHub的东西

    1. 先安装git 2. 注册一个github账号 3. 新建一个项目 3. 打开git 运行以下命令: cd /d/workspace (切换目录到 d盘的workspace) git init ( ...

  2. v8随心记

    因为node原因,研究v8已经有段时间了,但是一直也没有抽空写点什么,现在想想有好多当时清晰的东西又模糊了.哎,伤心的很啊.但是一时又想不起什么章法,所以只能随手胡乱写了. 下载.编译: https: ...

  3. Ngui使用随心记

    Ngui的一些基础使用心得! BB:首先BB一下我觉得NGUI和UGUI哪个好?我首推UGUI,先不说是官方内置,在使用的方便性上也要好很多,而且NGUI停止更新了!还有就是NGUI有BUG! Ngu ...

  4. 对git的理解及常用指令

    以前总听说git[分布式版本控制系统]自己愣是搞不懂它到底要干哈-什么叫版本控制系统根本理解不了.现在工作需要必须要用到,结果好像就突然懂了git是干什么滴. 所以!原理这个东西的理解是要建立在大量的 ...

  5. Git 中级用户的25个提示

    我使用 Git 大约已经有18个月时间,自认为能很好地驾驭它了.但是当我们请到 GitHub 的 Scott Chacon 来到 LVS 公司(一个博彩/游戏软件供应商/开发商)做专场培训时,我在第一 ...

  6. 【Tools】Pro Git 一二章读书笔记

    记得知乎以前有个问题说:如果用一天的时间学习一门技能,选什么好?里面有个说学会Git是个很不错选择,今天就抽时间感受下Git的魅力吧.   Pro Git (Scott Chacon) 读书笔记:   ...

  7. git教程1

    主要参考: 官方书籍: Pro Git 中文版:http://git.perlchina.org/book/zh 英文版:http://git.perlchina.org/book http://gi ...

  8. Git更新代码到本地

    一段时间没用git,发现一些东西记不住了,这里记一点常用的命令. 正规流程 git status(查看本地分支文件信息,确保更新时不产生冲突) 若出现冲突,会有提示的 git checkout – [ ...

  9. 【转】SVN与Git比较

    摘要Svn是目前得到大多数人认可,使用得最多的版本控制管理工具,而Git的优势在于易于本地增加分支和分布式的特性,可离线提交,解决了异地团队协同开发等svn不能解决的问题.本文就这两种版本控制工具的异 ...

随机推荐

  1. php封装的mysqli类完整实例

    本文实例讲述了php封装的mysqli类.分享给大家供大家参考,具体如下:类: <?php header('content-type:text/html;charset=utf-8'); /* ...

  2. js中字符串转json对象时报错: Uncaught SyntaxError: Unexpected token s in JSON at position 2

    解决方法: js中获取jsp的返回值 var json='${channels}' var channels = JSON.parse(json);就报上面的错. json的值最终会转成这种json格 ...

  3. static关键字的作用是什么?

    static的作用:常用来修饰变量. 全局变量被static修饰后,就称之为静态全局变量:局部变量被static修饰后,就称之为静态局部变量.统称为静态变量. 如果需要进一步解释下面的现象,可以了解i ...

  4. 利用正则表达式判断Java中的秒钟、分钟、小时、日、月是否符合规则

    // 定义校验规则 Pattern patRule = Pattern.compile("判断规则"); // 校验结果 patRule.matcher("判断的对象&q ...

  5. e_book

    1. 奢侈的纸制书籍 2. 电子书 2.1 与印刷书籍的比较 2.2 电子书格式 2.2.1 Kindle 2.2.2 PDF 2.2.3 EPUB 2.2.4 更多电子书格式比较 2.3 公共领域的 ...

  6. 聚合数据实名认证接口-java方法

    只需要填入购买的APPKEY,然后直接调用方法JuheDemo.info(user_name, anchor_card);传入姓名和身份证号,根据获取的返回参数进行拆分,如res=1说明正确. //进 ...

  7. NXP TJA1040, TJA1042, TJA1050 TJA1051, TJA1057, TJA1044, TJA1055区别

    历史关系 PCA82C250和PCA82C251是属于NXP第一代 CAN PHY(CAN物理层收发器): TJA1050, TJA1040和TJA1041是属于NXP第二代CAN PHY: TJA1 ...

  8. leetcode菜鸡斗智斗勇系列(5)--- 寻找拥有偶数数位的数字

    1.原题: https://leetcode.com/problems/find-numbers-with-even-number-of-digits/ Given an array nums of ...

  9. MyEclipse JSP页面中文字符不能保存

      问题: 就是写HTML+JSP代码时有些中文,保存时提示sava could not be completed. Reason: some characters cannot be mapped ...

  10. 「CSP」第一届提高组考后总结

    「CSP」第一届提高组考后总结 问题分析+反思 成绩 心态 考前心态 考时心态 考后心态 方法 心灵鸡汤... 在学习了三年之后,我们信竞迎来了初中最后一次大考,也是第一次 CSPCSPCSP 考试. ...