Git
文章平均质量分 71
IceTeaSet
这个作者很懒,什么都没留下…
展开
-
【Git零基础教程】(1)介绍/创建
版本控制系统(Version Control System,VCS)可以分为集中式(Centralized Version Control System,CVCS)与分布式(Distributed Version Control System,DVCS)两大类。 它们的区别主要在于版本管理数据库存在的位置。如图所示: 集中式的版本数据库只存在于服务器上,而个人这里仅仅只有一份文件。而分布式的原创 2017-07-17 21:40:04 · 443 阅读 · 0 评论 -
macOS中使用meld作为git mergetool和difftool
本文介绍通过下载meld应用的方式进行配置的过程,不适用于命令行安装的形式(命令行安装:brew install caskroom/cask/meld,之后自行尝试…)mergetool的选择参考下文: https://www.slant.co/topics/1324/~diff-tools-for-gitmeld截图: meld下载https://yousseb.github.io/meld/原创 2017-04-08 21:11:03 · 2796 阅读 · 1 评论 -
【Git零基础教程】(8)Reset
git reset命令用于将文件还原到历史版本。前面有提到过,一个Git工程可以大致分为三部分:现在我们用一个实例看看git reset命令如何对它们产生影响。建立文件: git add: git commit: edit: git add: git commit: 省略一些重复步骤后我们得到: git reset有三种模式:–soft、–mixed、–hard假如我们进行git原创 2017-07-23 16:50:04 · 568 阅读 · 0 评论 -
【Git零基础教程】(7)改写历史(Rewriting History)
第一种最简单的是使用git commit --amend它的作用是使本次commit和上一次commit合并在一块。也可以用它只修改上一次提交的log。用上一章我们讲过的rebase可以实现很多需求:git rebase -i HEAD~3先不考虑-i,我们知道git rebase <branch>的意思是将当前分支rebase到<branch>,它其实相当于git rebase <b原创 2017-07-23 15:30:55 · 1120 阅读 · 0 评论 -
【Git零基础教程】(2)基本命令
本章主要介绍Git的基本结构和基本指令。如下图(记为图1)所示,一个Git工程可以分为三个区域:工作目录,缓存区域,git仓库。 工作目录就是你的所有文件,缓存区域是暂存下一次commit要更改的内容的区域,git仓库则存着所有的commits。在上图介于working directory 和 staging area之间的文件的状态大致可以分为如下几种(记为图2): untracked表示该文原创 2017-07-21 12:06:35 · 442 阅读 · 0 评论 -
【Git零基础教程】(6)Rebase
Rebase的作用与之前提到的merge相似。它的作用是将一个分支的commits加到另一个分支上去。比如我们有: 如果使用merge,结果如下图所示: 而如果使用rebase:git checkout experimentgit rebase master则结果如下图所示: C4的改动内容会在C3上进行重做,产生C4’,而C4会被“删除”(C4与C4’的hash值并不同) 这时原创 2017-07-23 14:20:09 · 704 阅读 · 0 评论 -
【Git零基础教程】(5)Remote
当你不仅仅是在本地单人工作时,就需要使用git remote、push、pull等命令来实现多人协作。当你使用clone命令从某个网络地址下载得到一个本地的git仓库: git clone <url> 或者 git remote add <shortname> <url> git pull <shortname>网络仓库的结构和你的本地仓库结构分别如下图所示: 然后当你在本原创 2017-07-23 14:06:29 · 598 阅读 · 0 评论 -
【Git零基础教程】(4)分支
分支在Git中是最常用的之一。顾名思义,分支们通常构成一个树型,树根通常是我们熟悉的master分支。显示当前本地的所有分支: git branch新建一个分支,取名叫testing: git branch testing图中的每个5位编码代表一个commit,即它的hash码的前五位。HEAD相当于一个指针,指示当前所处的位置。使用checkout来切换branch:git check原创 2017-07-21 15:25:40 · 470 阅读 · 0 评论 -
【Git零基础教程】(3).gitignore
.gitignore用来让Git不跟踪一些文件。它只对untracked文件有效,对tracked的文件无效,不能让它们变成untracked。它在Git工程的根目录下。# 忽略所有.a文件*.a# 但是跟踪hello.a !hello.a# 如果加了/,就仅仅会忽略根目录下的README文件/README# 忽略所有名为build的文件夹,包括不在根目录下的build/# 忽略所有doc文原创 2017-07-21 14:10:07 · 342 阅读 · 0 评论 -
使用Smart HTTP和Gitweb搭建简易个人git服务器
使用Smart HTTP的git服务器搭建过程原文地址:http://particle128.com/posts/2014/12/git-server.html刚接手了老师的一个安卓项目,考虑到实验室闲置了一台PC,决定把这个pc配置成git服务器,用来进行版本控制。以为是分分钟钟的事儿呢,结果用了一整天才搞定。被网上残缺不全的新旧教程整懵了,决定自己写一个。协议选择转载 2017-03-01 21:42:42 · 7028 阅读 · 0 评论