
git 详解
文章平均质量分 91
wh_19910525
这个作者很懒,什么都没留下…
展开
-
git 使用详解(1)--历史
版本控制系统(VCS)::有了它你就可以将某个文件回溯到之前的状态,甚至将整个项目都回退到过去某个时间点的状态。你可以比较文件的变化细节,查出最后是谁修改了哪个地方,从而导致出现怪异问题,又是谁在何时报告了某个功能缺陷等等。使用版本控制系统通常还意味着,就算你乱来一气把整个项目中的文件改的改删的删,你也照样可以轻松恢复到原先的样子。但额外增加的工作量却微乎其微。集中化的版本控制系统原创 2012-03-26 13:39:06 · 3295 阅读 · 0 评论 -
Git的Windows版本Msysgit的中文乱码解决
Windows系统中使用的msysGit,采用的是 系统编码来保存文件名;1.ls不能显示中文目录 解决办法:在git的安装目录下,D:\Git\etc\git-completion.bash中增加一行: alias ls='ls --show-control-chars --color=auto'============================原创 2012-11-06 23:48:59 · 3984 阅读 · 0 评论 -
git clean 小结
删除 一些 没有 git add 的 文件;git clean 参数 -n 显示 将要 删除的 文件 和 目录 -f 删除 文件,-df 删除 文件 和 目录git clean -ngit clean -dfgit clean -f原创 2012-11-28 12:33:06 · 92492 阅读 · 0 评论 -
git apply 补丁
假如,有这样的 目录层次 x/xx/xxx/xxx/ttt.c而 我的 当前位置 是在 x/下 ,执行git diff> test.patch在test.patch补丁文件里的路径信息是这样的:- - - a/xx/xxx/xxx +++b/xx/xxx/xxx 如果 应用 test.patch 的时候的 位置 是在 x/ 下,那原创 2012-11-16 14:32:29 · 38020 阅读 · 0 评论 -
windows下 git 的 颜色 和 命令别名 的配置
配置文件路径:D:\Git\etc\gitconfig在最后添加:[color] branch = auto diff = auto status = auto[color "branch"] current = yellow reverse local = yellow remote = green[color "diff"] meta = yell原创 2012-12-19 00:22:41 · 3641 阅读 · 0 评论 -
git stash和git stash pop
git stash 可用来暂存当前正在进行的工作, 比如想pull 最新代码, 又不想加新commit, 或者另外一种情况,为了fix 一个紧急的bug, 先stash, 使返回到自己上一个commit, 改完bug之后再stash pop, 继续原来的工作。基础命令:$git stash$do some work$git stash pop进阶:git st原创 2012-07-25 15:12:01 · 268791 阅读 · 8 评论 -
补丁git format-patch && git-am用法
总结:[junwei@junwei-fc12 git_test_range]$ git format-patch HEAD^ [junwei@junwei-fc12 git_test_range]$ git format-patch HEAD^^ [junwei@junwei-fc12 git_test_range]$ git format-patch HEAD^^原创 2014-02-18 16:54:53 · 22882 阅读 · 1 评论 -
在Ubuntu 12.04 上 搭建 Git服务器
在使用Git之前,大家首先要明确几个概念:git服务器、git客户端和git服务器管理员;通常,git服务器上需要安装OpenSSH Server、Git、Gitosis和Apache2(如果想使用Gitweb的话)。一、Git服务端 安装: 1、安装OpenSSH Server:首先,使用ps -e|grep ssh命令,检查本机原创 2014-03-11 10:22:49 · 2923 阅读 · 1 评论 -
Git pull 小结
git push 推送数据$ git push master master #本地master推送到远端master如果想快捷的使用git push就推送到默认远端分支master,可以做个一次性设置:$ git remote add origin @: 做完以上设置,以后直接使用git push 就会自动推送到上述设置地址了,但如果要推送到其他分支,还是需要加参数的,这个设原创 2012-10-31 14:13:09 · 15729 阅读 · 0 评论 -
git push 小结
$ git push ssh://git@dev.lemote.com/rt4ls.git master // 把本地仓库提交到远程仓库的master分支中$ git remote add origin ssh://git@dev.lemote.com/rt4ls.git$ git push origin master 这两个操作是等价的,第二个操作的第一行的意思是添加一个标记原创 2012-04-08 17:23:39 · 92600 阅读 · 2 评论 -
git commit 编辑器
装完新linux系统后,最后在修改代码后使用git commit时候,发现使用的git commit的编辑工具居然不是以前习惯的vim,而是感觉相当不熟悉的nano。 原因自然是git的配置问题。对于这个,有一下两个解决办法:1. 编辑.git/config文件。在core中添加editor = vim。如此以后在使用git的时候就自动使用vim作为编辑器;g原创 2014-03-06 12:31:19 · 4514 阅读 · 0 评论 -
如何在windows下使用git及github仓库管理项目
第一,下载并安装git目前windows版本的git有几种实现,但我们选择msysgit发行版,这是目前做得兼容性最好的。下载地址:http://code.google.com/p/msysgit/downloads/list使用默认配置安装Git。这个不用多说,一路Next就可以,如果对各种选项不熟悉,建议使用默认配置,没问题的。第二,创建github账号什么原创 2012-10-30 16:48:57 · 71263 阅读 · 6 评论 -
repo服务器 搭建
Android开源工程的代码,使用了一个叫repo的工具,有效的管理着Android底下的几百个git工程。事实上repo本上并不是一个程序,而是一个脚本工程.......而git才是真正的版本管理工具。说白了,repo就是一堆批处理(python语言写的),它把git的命令进行了合理封装,目标就是同时管理多个git工程。原创 2014-07-06 15:07:52 · 4038 阅读 · 0 评论 -
Git fetch和git pull的区别
Git中从远程的分支获取最新的版本到本地有这样2个命令:1. git fetch:相当于是从远程获取最新版本到本地,不会自动merge操作方法如下: build_001$git branch develop_wanghai* master#把服务器origin的master分支 下载到本地的tmp_branch分支里;git原创 2017-03-29 16:33:55 · 3148 阅读 · 0 评论 -
git log 小结
git log 查看 当前分支的 提交历史在提交了若干更新之后,想回顾下提交历史,可以使用 git log 命令查看默认不用任何参数的话,git log 会按提交时间列出所有的更新,最近的更新排在最上面。看到了吗,每次更新都有一个 SHA-1 校验和、作者的名字 和 电子邮件地址、提交时间,最后缩进一个段落显示提交说明。git log 有许多选项可以帮助你搜寻感兴趣的提交,接下来我们原创 2012-04-19 19:28:22 · 36410 阅读 · 1 评论 -
使用gitlab做git flow及代码审查
除了 Git 命令,权限控制也是 Git 中极为重要的组成部分,本文主要介绍 GitLab 系统提供的最常用的权限控制功能。一、分配成员角色首先来了解下,Git 中的五种角色:角色描述OwnerGit 系统管理员MasterGit 项目管理员DeveloperGit 项目开发人员Report转载 2017-03-29 18:53:48 · 19501 阅读 · 0 评论 -
Git中tag的用法
git中的tag指向一次commit的id,通常用来给开发分支做一个标记,例如:标记一个版本号,以便后续回退的之前的某一个版本。一、打标签:git tag -a v1.01 -m "Relase version 1.01"注解:git tag 是打标签的命令,-a 是添加标签,其后要跟新标签号,-m 及后面的字符串是对该标签的注释。二、提交标签到远程转载 2017-08-17 08:46:02 · 2195 阅读 · 0 评论 -
git 忽略机制
在生成文档内容快照时,工作树中有一些文档是你不希望接受Git 管理的,譬如程序编译时生成的 中间文件,对于这样的文件如何避免为之生成快照? Git 提供了 文档忽略机制,可以将工作树中你不希望接受Git 管理的文档信息写到 同一目录 下的.gitignore文件中。==================== 语法 ============================1原创 2012-05-10 19:42:21 · 5356 阅读 · 0 评论 -
git merge 和 git rebase 小结
git merge是用来合并两个分支的。git merge b # 将b分支合并到当前分支同样 git rebase b,也是把 b分支合并到当前分支-----------------------------------他们的 原理 如下:假设你现在基于远程分支"origin",创建一个叫"mywork"的分支。$ git原创 2012-05-10 16:31:04 · 309416 阅读 · 47 评论 -
repo的小结
repo只是google用Python脚本写的调用git的一个脚本,主要是用来下载、管理Android项目的软件仓库。1. 下载 repo 的地址: http://android.git.kernel.org/repo ,可以用 wget http://android.git.kernel.org/repo 或者 curl http://android.git.kernel.org/r原创 2012-11-08 21:29:15 · 102565 阅读 · 6 评论 -
git 使用详解(2)--安装
安装 Git Git 有许多种安装方式,主要分为两种,一种是通过编译源代码来安装;另一种是使用为特定平台预编译好的安装包。从源代码安装若是条件允许,从源代码安装有很多好处,至少可以安装最新的版本。Git 的工作需要调用 curl,zlib,openssl,expat,libiconv 等库的代码,所以需要先安装这些依赖工具。在有 yum 的系统上 或者有 apt-get原创 2012-03-26 13:57:55 · 2394 阅读 · 0 评论 -
git 使用详解(3)-- 初体验
Git 基础本章将介绍几个最基本的,也是最常用的 Git 命令,以后绝大多数时间里用到的也就是这几个命令。读完本章,你就能初始化一个新的代码仓库,做一些适当配置;开始或停止跟踪某些文件;暂存或提交某些更新。我们还会展示如何让 Git 忽略某些文件,或是名称符合特定模式的文件;如何既快且容易地撤消犯下的小错误;如何浏览项目的更新历史,查看某两次更新之间的差异;以及如何从远程仓库拉数据下来或者推数原创 2012-03-26 17:12:00 · 2866 阅读 · 0 评论 -
git 使用详解(10)-- 远程分支
远程分支远程分支(remote branch)是对远程仓库中的分支的索引。它们是一些无法移动的本地分支;只有在Git 进行网络交互时才会更新。远程分支就像是书签,提醒着你上次连接远程仓库时上面各分支的位置。我们用 (远程仓库名)/(分支名) 这样的形式表示 远程分支。比如我们想看看上次同origin 仓库通讯时master 的样子,就应该查看origin/master 分支。如果你和同伴一原创 2012-04-23 11:32:32 · 43839 阅读 · 4 评论 -
git 使用详解(4)-- 初体验
查看已暂存和未暂存的更新实际上 git status的显示比较简单,仅仅是 列出了(修改过的、新创建的、已经暂存但未提交的)文件,如果要查看具体修改了什么地方,可以用git diff 命令。稍后我们会详细介绍git diff,不过现在,它已经能回答我们的两个问题了:当前做的哪些更新还没有暂存?有哪些更新已经暂存起来准备好了下次提交?git diff 会使用文件补丁的格式显示具体添加和删除的原创 2012-04-09 19:23:07 · 12955 阅读 · 0 评论 -
git 使用详解(7)-- 远程仓库的使用
远程仓库的使用要参与任何一个 Git 项目的协作,必须要了解该如何管理远程仓库。远程仓库是指 托管在网络上 的项目仓库,可能会有好多个,其中有些你 只能读,另外有些可以写。同他人协作开发某个项目时,需要管理这些远程仓库,以便推送或拉取数据,分享各自的工作进展。管理远程仓库的工作,包括添加远程库,移除废弃的远程库,管理各式远程库分支,定义是否跟踪这些分支,等等。本节我们将详细讨论远程库的管理和使原创 2012-04-17 15:45:49 · 3673 阅读 · 0 评论 -
git 使用详解(5)-- get log 查看提交历史
git log 查看 提交历史在提交了若干更新之后,又或者克隆了某个项目,想回顾下提交历史,可以使用 git log 命令查看。接下来的例子会用我专门用于演示的 simplegit 项目,运行下面的命令获取该项目源代码:git clone git://github.com/schacon/simplegit-progit.git然后在此项目中运行 git log,应该会看到下面的原创 2012-04-17 14:37:26 · 181768 阅读 · 5 评论 -
git 使用详解(9)-- 分支的新建与合并
分支的新建与合并现在让我们来看一个简单的分支与合并的例子,实际工作中大体也会用到这样的工作流程:1. 开发某个网站。 2. 为实现某个新的需求,创建一个分支。 3. 在这个分支上开展工作。假设此时,你突然接到一个电话说有个很严重的问题需要紧急修补,那么可以按照下面的方式处理:1. 返回到原先已经发布到生产服务器上的分支。 2. 为这次紧急修补建立一个新分支,并在其中修复问题。 3.原创 2012-04-18 20:12:04 · 21585 阅读 · 2 评论 -
git revert 小结
git revert 是 撤销 某次操作,此次操作之前和之后的commit都会被保留,并且 会把这次 撤销 作为一次最新的提交;git revert HEAD 撤销前一次 commitgit revert HEAD^ 撤销前前一次 commitgit revert commit (比如:fa042ce57ebbe5bb9原创 2012-05-10 23:02:50 · 8407 阅读 · 0 评论 -
git reset 小结
git 删除 错误 提交的 commit方法: 根据–soft –mixed –hard,会对working tree和index和HEAD进行重置: git reset --mixed:此为默认方式,不带任何参数的git reset,即时这种方式,它回退到某个版本,只保留源码,回退commit和index信息 git reset --soft:回退原创 2012-04-09 10:41:15 · 52988 阅读 · 2 评论 -
使用repo和git下载android源码 和 相关解释
repo只是google用Python脚本写的调用git的一个脚本,主要是用来下载、管理Android项目的软件仓库。(也就是说,他是用来管理git所管理的一个个仓库),可以简化android开发中git的使用。 ----------------- repo使用方法 ---------------------$repo init -u URL [OPTIONS] Option原创 2012-04-03 17:36:01 · 10995 阅读 · 0 评论 -
git cherry-pick 小结
git cherry-pick可以选择某一个分支中的一个或几个commit(s)来进行操作。例如,假设我们有个稳定版本的分支,叫v2.0,另外还有个开发版本的分支v3.0,我们不能直接把两个分支合并,这样会导致稳定版本混乱,但是又想增加一个v3.0中的功能到v2.0中,这里就可以使用cherry-pick了。就是对已经存在的commit 进行 再次提交;简单用法:g原创 2012-05-10 16:20:53 · 168522 阅读 · 5 评论 -
git blame && git fsck –lost-found
git中把commit删了后,并不是真正的删除,而是变成了悬空对象(dangling commit)。我们只要把把这悬空对象(dangling commit)找出来,用git rebase也好,用git merge也行就能把它们给恢复。这里最重要的一个命令就是:git fsck –lost-found 。 如果你要查看文件的每个部分是谁修改的, 那么 git bla原创 2012-08-08 11:12:56 · 10453 阅读 · 0 评论 -
git 使用详解(6)-- 撤消操作
撤消操作接下来,我们会介绍一些基本的撤消操作相关的命令。请注意,有些操作并不总是可以撤消的,所以请务必谨慎小心,一旦失误,就有可能丢失部分工作成果。修改最后一次提交有时候我们提交完了才发现漏掉了几个文件没有加,或者提交信息写错了。想要撤消刚才的提交操作,可以使用--amend 选项重新提交:$ git commit --amend -m"修改 提交 说明"此命令将使用当前的暂存原创 2012-04-17 15:25:08 · 13311 阅读 · 0 评论 -
第一次使用git,撤销git add操作 (undo git add before commit)
I mistakenly added files using the commandgit add fileI have not yet run git commit.Is there a way to undo this or remove these files from the commit?You want:git rm --c原创 2012-10-30 17:36:28 · 29000 阅读 · 1 评论 -
回退 服务器 上的 git 仓库 & 删除 服务器上的 git 分支
如果我们某次修改了某些内容,并且已经commit到本地仓库,而且已经push到远程仓库了?这种情况下,我们想把本地和远程仓库都回退到某个版本,该怎么做呢?前面讲到的git reset只是在本地仓库中回退版本,而远程仓库的版本不会变化,这样,即时本地reset了,但如果再git pull,那么,远程仓库的内容又会和本地之前版本的内容进行merge,这并不是我们想要的东西,这时可以用 以下原创 2012-10-31 17:45:51 · 14045 阅读 · 0 评论 -
git错误解决 -- 小结
1.今天 当我 执行 git add somefile 的时候,出现 如下 错误:If no other git process is currently running, this probably means agit process crashed in this repository earlier. Make sure no other gitprocess is ru原创 2012-11-08 11:27:04 · 33278 阅读 · 1 评论 -
git describe
git describe --- 显示当前离当前提交最近的tag 如果符合条件的tag指向最新提交则只是显示tag的名字,否则会有相关的后缀来描述该tag之后有多少次提交以及最新的提交commit id。不加任何参数的情况下,git describe 只会列出带有注释的tage.g. $ git describe v1.8.3转载 2017-11-22 10:07:27 · 5216 阅读 · 0 评论