
Git
wbj0110
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Ubuntu git 安装和使用
1.安装程序sudo apt-get install gitsudo apt-get install git-core2.那通过命令更新版本库git clone git://git.kernel.org/pub/scm/git/git.git3.创建一个新版本库mkdir gittutorchcd gitturtorchgit-init-db这样,一个空的版...原创 2014-04-24 09:24:38 · 144 阅读 · 0 评论 -
技巧和窍门
在结束本章之前,我还想和大家分享一些 Git 使用的技巧和窍门。很多使用 Git 的开发者可能根本就没用过这些技巧,我们也不是说在读过本书后非得用这些技巧不可,但至少应该有所了解吧。说实话,有了这些小窍门,我们的工作可以变得更简单,更轻松,更高效。自动补全如果你用的是 Bash shell,可以试试看 Git 提供的自动补全脚本。下载 Git 的源代码,进入 contrib/compl...原创 2014-03-04 09:17:57 · 106 阅读 · 0 评论 -
打标签
同大多数 VCS 一样,Git 也可以对某一时间点上的版本打上标签。人们在发布某个软件版本(比如 v1.0 等等)的时候,经常这么做。本节我们一起来学习如何列出所有可用的标签,如何新建标签,以及各种不同类型标签之间的差别。列显已有的标签列出现有标签的命令非常简单,直接运行 git tag 即可:$ git tagv0.1v1.3显示的标签按字母顺序排列,所以标签的先...原创 2014-03-04 09:17:42 · 113 阅读 · 0 评论 -
分支的衍合
把一个分支中的修改整合到另一个分支的办法有两种:merge 和 rebase(译注:rebase 的翻译暂定为“衍合”,大家知道就可以了。)。在本章我们会学习什么是衍合,如何使用衍合,为什么衍合操作如此富有魅力,以及我们应该在什么情况下使用衍合。基本的衍合操作请回顾之前有关合并的一节(见图 3-27),你会看到开发进程分叉到两个不同分支,又各自提交了更新。 图 3-27. 最初...原创 2014-03-03 10:40:03 · 217 阅读 · 0 评论 -
分支的新建与合并
现在让我们来看一个简单的分支与合并的例子,实际工作中大体也会用到这样的工作流程:开发某个网站。为实现某个新的需求,创建一个分支。在这个分支上开展工作。假设此时,你突然接到一个电话说有个很严重的问题需要紧急修补,那么可以按照下面的方式处理:返回到原先已经发布到生产服务器上的分支。为这次紧急修补建立一个新分支,并在其中修复问题。通过测试后,回到生产服务器所在的分支...原创 2014-02-28 09:14:49 · 724 阅读 · 1 评论 -
Cannot rebase: You have unstaged changes.
那说明你有修改过的文件 git stash git pull --rebase (每次push之前最好这样做一次) git push .... 之后用git stash pop stash原创 2014-02-28 09:14:17 · 2230 阅读 · 0 评论 -
生成 SSH 公钥
生成 SSH 公钥大多数 Git 服务器都会选择使用 SSH 公钥来进行授权。系统中的每个用户都必须提供一个公钥用于授权,没有的话就要生成一个。生成公钥的过程在所有操作系统上都差不多。 首先先确认一下是否已经有一个公钥了。SSH 公钥默认储存在账户的主目录下的 ~/.ssh 目录。进去看看:$ cd ~/.ssh$ lsauthorized_keys2 id_dsa ...原创 2014-02-25 09:26:59 · 1028 阅读 · 0 评论 -
远程分支
远程分支(remote branch)是对远程仓库中的分支的索引。它们是一些无法移动的本地分支;只有在 Git 进行网络交互时才会更新。远程分支就像是书签,提醒着你上次连接远程仓库时上面各分支的位置。我们用 (远程仓库名)/(分支名) 这样的形式表示远程分支。比如我们想看看上次同 origin 仓库通讯时 master 分支的样子,就应该查看 origin/master 分支。如果你和同伴...原创 2014-02-25 09:26:38 · 465 阅读 · 0 评论 -
撤消操作
任何时候,你都有可能需要撤消刚才所做的某些操作。接下来,我们会介绍一些基本的撤消操作相关的命令。请注意,有些撤销操作是不可逆的,所以请务必谨慎小心,一旦失误,就有可能丢失部分工作成果。修改最后一次提交有时候我们提交完了才发现漏掉了几个文件没有加,或者提交信息写错了。想要撤消刚才的提交操作,可以使用 --amend 选项重新提交:$ git commit --amend此命令将...原创 2014-02-19 10:27:29 · 239 阅读 · 0 评论 -
查看提交历史
在提交了若干更新之后,又或者克隆了某个项目,想回顾下提交历史,可以使用 git log 命令查看。接下来的例子会用我专门用于演示的 simplegit 项目,运行下面的命令获取该项目源代码:git clone git://github.com/schacon/simplegit-progit.git然后在此项目中运行 git log,应该会看到下面的输出:$ git log...原创 2014-02-19 10:26:54 · 145 阅读 · 0 评论 -
记录每次更新到仓库
现在我们手上已经有了一个真实项目的 Git 仓库,并从这个仓库中取出了所有文件的工作拷贝。接下来,对这些文件作些修改,在完成了一个阶段的目标之后,提交本次更新到仓库。请记住,工作目录下面的所有文件都不外乎这两种状态:已跟踪或未跟踪。已跟踪的文件是指本来就被纳入版本控制管理的文件,在上次快照中有它们的记 录,工作一段时间后,它们的状态可能是未更新,已修改或者已放入暂存区。而所有其他文件都属于未...原创 2014-02-19 10:26:11 · 116 阅读 · 0 评论 -
取得项目的 Git 仓库
有两种取得 Git 项目仓库的方法。第一种是在现存的目录下,通过导入所有文件来创建新的 Git 仓库。第二种是从已有的 Git 仓库克隆出一个新的镜像仓库来。在工作目录中初始化新仓库要对现有的某个项目开始用 Git 管理,只需到此项目所在的目录,执行:$ git init初始化后,在当前目录下会出现一个名为 .git 的目录,所有 Git 需要的数据和资源都存放在这个目录中。...原创 2014-02-19 10:24:27 · 226 阅读 · 0 评论 -
初次运行 Git 前的配置
一般在新的系统上,我们都需要先配置下自己的 Git 工作环境。配置工作只需一次,以后升级时还会沿用现在的配置。当然,如果需要,你随时可以用相同的命令修改已有的配置。Git 提供了一个叫做 git config 的工具(译注:实际是 git-config 命令,只不过可以通过 git 加一个名字来呼叫此命令。),专门用来配置或读取相应的工作环境变量。而正是由这些环境变量,决定了 Git 在各个...原创 2014-02-19 10:23:26 · 114 阅读 · 0 评论 -
常用的Git命令行代码
10条非常有用且先进的Git命令行语句,无论是运用在团队环境或是在私人项目中,你都可以直接来拿用。 1. 在最后提交中更改Export(Export changes done in last commit )这个命令通常会使用定期发送已更改的项目,以方便其他人审查/集成。 1git archive -o ../updated.zip HEAD $...原创 2013-09-18 09:15:12 · 142 阅读 · 0 评论 -
Git 守护进程
对于提供公共的,非授权的只读访问,我们可以抛弃 HTTP 协议,改用 Git 自己的协议,这主要是出于性能和速度的考虑。Git 协议远比 HTTP 协议高效,因而访问速度也快,所以它能节省很多用户的时间。重申一下,这一点只适用于非授权的只读访问。如果建在防火墙之外的服务器上,那么它所提供的服务应该只是那些公开的只读项目。如果是在防火墙之内的 服务器上,可用于支撑大量参与人员或自动系统(用于...原创 2014-03-08 22:53:44 · 172 阅读 · 0 评论 -
Git 托管服务
如果不想经历自己架设 Git 服务器的麻烦,网络上有几个专业的仓库托管服务可供选择。这样做有几大优点:托管账户的建立通常比较省时,方便项目的启动,而且不涉及服务器的维护和监 控。即使内部创建并运行着自己的服务器,同时为开源项目提供一个公共托管站点还是有好处的 — 让开源社区更方便地找到该项目,并给予帮助。目前,可供选择的托管服务数量繁多,各有利弊。在 Git 官方 wiki 上的 Gith...原创 2014-03-08 22:54:24 · 132 阅读 · 0 评论 -
Git simple explain
虽然之前弄过了svn,但是最近,老大又要求使用git来进行版本控制。好吧,暂停下手上的项目,折腾下Git吧。学习的资料就是progit的ebook,写的真的是很好很详细。强烈推荐移步progit去学习下。ebook的最下方可以选择语言,有中文版的。因为是几个人一起开发的项目,所以就配置了一个私有小规模团队的git。所谓私有,就是每个人都具有读写权限,且不对外公开。所以采用SSH公钥来进...原创 2014-04-23 09:35:20 · 106 阅读 · 0 评论 -
How to Install Git on Ubuntu 12.04
How to Install Git on Ubuntu 12.04About Git Git is a distributed version control system released to the public in 2005. The program allows for non-linear development of projects, and can handle...原创 2014-03-21 09:20:09 · 141 阅读 · 0 评论 -
远程仓库的使用
要参与任何一个 Git 项目的协作,必须要了解该如何管理远程仓库。远程仓库是指托管在网络上的项目仓库,可能会有好多个,其中有些你只能读,另外有些可以写。同他人协作开发某个项目时,需要管理这些远程仓库,以便推送或拉取数据,分享各自的工作进展。 管理远程仓库的工作,包括添加远程库,移除废弃的远程库,管理各式远程库分支,定义是否跟踪这些分支,等等。本节我们将详细讨论远程库的管理和使用。查看当前的...原创 2014-03-15 20:25:37 · 167 阅读 · 0 评论 -
何谓分支
为了理解 Git 分支的实现方式,我们需要回顾一下 Git 是如何储存数据的。或许你还记得第一章的内容,Git 保存的不是文件差异或者变化量,而只是一系列文件快照。在 Git 中提交时,会保存一个提交(commit)对象,该对象包含一个指向暂存内容快照的指针,包含本次提交的作者等相关附属信息,包含零个或多个指向该提交对 象的父对象指针:首次提交是没有直接祖先的,普通提交有一个祖先,由两个或...原创 2014-03-13 21:46:26 · 197 阅读 · 0 评论 -
分支的管理
到目前为止,你已经学会了如何创建、合并和删除分支。除此之外,我们还需要学习如何管理分支,在日后的常规工作中会经常用到下面介绍的管理命令。git branch 命令不仅仅能创建和删除分支,如果不加任何参数,它会给出当前所有分支的清单:$ git branch iss53* master testing注意看 master 分支前的 * 字符:它表示当前所在的分支。...原创 2014-03-11 09:27:27 · 145 阅读 · 0 评论 -
利用分支进行开发的工作流程
利用分支进行开发的工作流程现在我们已经学会了新建分支和合并分支,可以(或应该)用它来做点什么呢?在本节,我们会介绍一些利用分支进行开发的工作流程。而正是由于分支管理的便捷,才衍生出了这类典型的工作模式,你可以根据项目的实际情况选择一种用用看。长期分支由于 Git 使用简单的三方合并,所以就算在较长一段时间内,反复多次把某个分支合并到另一分支,也不是什么难事。也就是说,你可以同时拥有...原创 2014-03-11 09:26:58 · 141 阅读 · 0 评论 -
服务器上的 Git - 协议
协议Git 可以使用四种主要的协议来传输数据:本地传输,SSH 协议,Git 协议和 HTTP 协议。下面分别介绍一下哪些情形应该使用(或避免使用)这些协议。值得注意的是,除了 HTTP 协议外,其他所有协议都要求在服务器端安装并运行 Git。本地协议最基本的就是本地协议(Local protocol),所谓的远程仓库在该协议中的表示,就是硬盘上的另一个目录。这常见于团 队每一...原创 2014-03-09 23:00:56 · 200 阅读 · 0 评论 -
在服务器上部署 Git
开始架设 Git 服务器前,需要先把现有仓库导出为裸仓库 — 即一个不包含当前工作目录的仓库。做法直截了当,克隆时用 --bare 选项即可。裸仓库的目录名一般以 .git 结尾,像这样:$ git clone --bare my_project my_project.gitCloning into bare repository 'my_project.git'...done....原创 2014-03-09 23:00:41 · 223 阅读 · 0 评论 -
架设服务器
现在我们过一边服务器端架设 SSH 访问的流程。本例将使用 authorized_keys 方法来给用户授权。我们还将假定使用类似 Ubuntu 这样的标准 Linux 发行版。首先,创建一个名为 'git' 的用户,并为其创建一个 .ssh 目录。$ sudo adduser git$ su git$ cd$ mkdir .ssh接下来,把开发者的 SSH 公钥添加到...原创 2014-03-09 23:00:26 · 172 阅读 · 0 评论 -
公共访问
公共访问匿名的读取权限该怎么实现呢?也许除了内部私有的项目之外,你还需要托管一些开源项目。或者因为要用一些自动化的服务器来进行编译,或者有一些经常变化的服务器群组,而又不想整天生成新的 SSH 密钥 — 总之,你需要简单的匿名读取权限。或许对小型的配置来说最简单的办法就是运行一个静态 web 服务,把它的根目录设定为 Git 仓库所在的位置,然后开启本章第一节提到的 post-upda...原创 2014-03-09 22:59:06 · 199 阅读 · 0 评论 -
GitWeb
GitWeb现在我们的项目已经有了可读可写和只读的连接方式,不过如果能有一个简单的 web 界面访问就更好了。Git 自带一个叫做 GitWeb 的 CGI 脚本,运行效果可以到 http://git.kernel.org 这样的站点体验下(见图 4-1)。Figure 4-1. 基于网页的 GitWeb 用户界面如果想看看自己项目的效果,不妨用 Git 自带的一个命令,可以使...原创 2014-03-08 22:58:04 · 118 阅读 · 0 评论 -
服务器上的 Git - Gitosis
Gitosis把所有用户的公钥保存在 authorized_keys 文件的做法,只能凑和一阵子,当用户数量达到几百人的规模时,管理起来就会十分痛苦。每次改删用户都必须登录服务器不去说,这种做法还缺少必要的权限管理 — 每个人都对所有项目拥有完整的读写权限。幸好我们还可以选择应用广泛的 Gitosis 项目。简单地说,Gitosis 就是一套用来管理 authorized_key...原创 2014-03-08 22:55:34 · 122 阅读 · 0 评论 -
Linux搭建Git分布式管理控制系统
简介:Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。安装步骤:操作系统:centos 5.5安装GIT依赖的包yum install zlib-devel yum install openssl-devel yum install perl yum install cpio yum install expat-devel...原创 2013-08-31 17:53:03 · 136 阅读 · 0 评论 -
git 放弃本地修改 强制更新
git fetch --allgit reset --hard origin/mastergit fetch 只是下载远程的库的内容,不做任何的合并 git reset 把HEAD指向刚刚下载的最新的版本原创 2014-02-12 10:25:58 · 685 阅读 · 0 评论 -
How to switch repositories from one to the next
You can use git remote to manage your remoterename origin git remote rename origin old_originadd a new origin git remote add origin git://github.com/my/forked/repo.git git...原创 2014-02-09 11:27:50 · 121 阅读 · 0 评论 -
Set up SSH for Git and Mercurial on Mac OSX/Linux
https://confluence.atlassian.com/pages/viewpage.action?pageId=270827678http://www.worldhello.net/gotgithub/index.html原创 2013-12-07 09:47:39 · 169 阅读 · 0 评论 -
使用Github和Bitbucket托管项目 Git的全局配置和单个项目的配置
Git是Linus.Torvald为了管理Linux内核发起并开发的一个开源分布式版本控件系统(DVCS)。从2002年起,Linux 内核一直使用BitKeeper来进行版本管理,但是在2005年BitKeeper和Linux 内核开源社区的合作关系结束,BitKeeper再也不能免费使用了,这迫使Linus决定开发一个开源界自已的版本控制系统。比较流行的Github和Bitbucket。...原创 2013-12-07 09:41:16 · 190 阅读 · 0 评论 -
Bitbucket使用方法
一、软件及SSH keys:由于我的Bitbucket账号的邮箱及用户名与Github相同,所以SSH Public Keys可以用Github的,登录Bitbucket,悬浮在用户名boliquan那里点击“Account”,点击左边的“SSH keys”即可进行设置 软件不用再安装,仍然使用Github的二、创建一个私有项目及上传:登录后鼠标悬停在“Repositories”选择...原创 2013-12-07 09:39:09 · 262 阅读 · 0 评论 -
git fetch 的简单用法:更新远程代码到本地仓库
方式一 1. 查看远程仓库123456$ git remote -veoecn https://github.com/eoecn/android-app.git (fetch)eoecn https://github.com/eoecn/android-app.git (push)origin https://gith...原创 2013-12-06 10:16:47 · 136 阅读 · 0 评论 -
git学习——上传项目代码到github(转)
这是我第一次应用git,以下仅供git的初学者参考。 github是一个基于git的代码托管平台,付费用户可以建私人仓库,我们一般的免费用户只能使用公共仓库,也就是代码要公开。这对于一般人来说公共仓库就已经足够了。 1.注册账户以及创建仓库 要想使用github第一步当然是注册github账号了。之后就可以创建仓库了(免费用户只能建公共仓库),Create ...原创 2013-12-01 10:40:21 · 114 阅读 · 0 评论 -
使用网盘(Dropbox/Google Drive)同步Git仓库
还在使用老掉牙的U盘搬运代码(文件)的方式,从一台机器上复制后,粘贴到另一台机器上?太Out了。使用Github 倒是一个非常不错的替代方法。但无论是基于什么理由都有可能不想把代码公开(毕竟Github免费账户是无法建立Private Repository)。建立Private Repository?Bitbucket免费账户同样有私有的仓库。不过,在云概念满天飞的时代,免费网盘满大街随手都可...原创 2013-12-01 10:40:02 · 395 阅读 · 0 评论 -
Dropbox+git 免费私有仓库
Step 1:~/project $ git init~/project $ git add .~/project $ git commit -m "first commit"~/project $ cd ~/Dropbox/gitStep 2:~/Dropbox/git $ git init --bare project.git~/Dropbox/git $ ...原创 2013-12-01 10:39:42 · 115 阅读 · 0 评论 -
Using Dropbox as a Git repository
Someone in the CocoaHeads mailing list mentioned that it is possible to use Dropbox as a remote repository for Git and I thought I’d give it a try. It turns out it is actually pretty easy to set it ...原创 2013-12-01 10:39:05 · 127 阅读 · 0 评论 -
Git 服务器 Gitosis 架设指南
Git是非常著名的分布式版本控制系统。 Gitosis则是方便通过Git与ssh架设中央服务器的软件。这篇文章的安装流程写得很明了,但使用中还是遇到了些许问题,本文算是该流程的补充。如果打算通过Gitosis架设服务器通过本文或许可以少走不少弯路。 一、架设步骤 1. 下载并安装python setuptools sudo apt-get install python-se...原创 2013-11-30 11:33:40 · 114 阅读 · 0 评论