`
pcajax
  • 浏览: 2106932 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
阅读更多

创建一个 Git 版本库

$ cd project/
$ git init # 创建 .git 目录 ( 1.4.4.4 版本之后用这个命令 )
$ git add . # 将那些未被跟踪的文件加入版本库中
$ git commit # 将工作目录的变化提交到版本库中

Git 将根据在版本库根目录中的 .gitignore 文件中列出的文件名, 忽略对那些文件的跟踪, 文件和目录名,可以用 shell 正则表达式来表示。

分支与合并

$ git checkout -b linux-work  # 创建一个名叫 "linux-work" 的分支
$ <make changes>
$ git commit -a
$ git checkout master # 回到主分支
$ git merge linux-work # 将在 linux-work 分支上的变更集合并入 master 分支
# (适用于 Git 1.5 以上版本)
$ git pull . linux-work # 将在 linux-work 分支上的变更集合并入 master 分支
# (适用于 Git 的所有版本)

引入补丁

$ git apply < ../p/foo.patch
$ git commit -a

生成补丁

$ <make changes>
$ git commit -a -m "commit message"
$ git format-patch HEAD^ # 生成一个 0001-commit-message.patch 的文件
# ( 这里的意思是生成当前分支的最新版本到他的父版本 HEAD^
# 的所有文件的补丁,当然你应该知道 HEAD 的概念是什么 )

网络功能

# 从主版本库中克隆

foo$ git clone git://git.kernel.org/pub/scm/git/git.git
foo$ cd git

# 将本地变更推入远程版本库

foo$ git push user@example.com:my-repository.git/

# 抓取远程版本库中的其中一个分支到本地版本库

foo$ git fetch user@example.com:my-repository.git/ remote-branch:local-branch

# 将远程版本库中的变化合并到本地

bar$ git pull git://foo/repo.git/ branch

# 用 git 协议建立版本库服务

foo$ cd /my/repository/
foo$ touch .git/git-daemon-export-ok
foo$ git daemon # 这样其他人就可以通过 git://your.machine/my/repository/.git/ 来抓取版本库

# 建立一个裸版本库( 没有工作目录的 )

foo$ mkdir my-repo.git
foo$ cd my-repo.git
foo$ git --bare init
foo$ chmod a+x .git/hooks/post-update # 用 HTTP 协议来传输版本时要这样
# 并且你需要用 push 命令来植入你的版本库的内容

查看各个版本

# 用图形界面工具查看历史

foo$ gitview # 这个命令打开图形界面窗口,你可以从中看到版本的历史沿革关系

# 查看日志

foo$ git log # 输出当前分支的日志
foo$ git log -p # 输出日志,并同时在每个提交信息之后显示补丁

# 查看指定的变更

foo$ git show HEAD # 显示变更信息,差异比较位置,
# 以及到当前分支最新状态的补丁。

查看历史记录

# 根据名称查看

foo$ git log v1.0.0 # 列举历史记录至标签 "v1.0.0"
foo$ git log master # 列举 "master" 分支的历史记录

# 根据名称关联查看

foo$ git show master^ # 检查 master 分支的最后一个父版本的内容
foo$ git show master~2 # 检查 master 祖父版本的最后内容
foo$ git show master~3 # 检查 master 曾祖父的最后内容

# 根据 "git describe" 的输出

foo$ git show v1.4.4-g730996f # 你可以用 "git describe" 命令得到这个输出

# 根据哈希序列号(在 git 内部,所有的对象都是由哈希序列号来标记的)

foo$ git show f665776185ad074b236c00751d666da7d1977dbe
foo$ git show f665776 # 通常你只要输入前几个数字已经足够

# 制作标签

foo$ git tag v1.0.0 # 将当前 HEAD 制作为 "v1.0.0" 的标签
foo$ git tag interesting v1.4.4-g730996f # 标记你感兴趣的东西(不是 HEAD)

比较版本记录

# 比较两个分支的差异
foo$ git diff origin..master # 比较 origin 与 master 的差异并输出至终端
foo$ git diff origin..master > my.patch # 输出到 my.patch 文件

# 取得尚未提交的工作于版本记录的差异
foo$ git diff --stat HEAD

"摘草莓"补丁

foo$ git cherry-pick other-branch~3     # 将另外一个分支的第四个补丁应用到当前分支
分享到:
评论

相关推荐

    git版本库建立过程(非常详细)

    详细给出git服务器建立过程。按步骤一步步操作即可。

    GIT版本管理使用技巧

    git仓库创建、导入、git常用命令使用等技巧,git仓库维护,以及协同工作方法。

    Git权威指南PDF完整版

    3.1.3 从Git版本库进行安装/ 23 3.1.4 命令补齐/ 25 3.1.5 中文支持/ 25 3.2 在Mac OS X 下安装和使用 Git/ 26 3.2.1 以二进制发布包的方式安装/ 26 3.2.2 安装 Xcode/ 27 3.2.3 使用 Homebrew 安装 Git/ 29 3.2.4 ...

    Git版本控制工具(一)--git的安装及创建版本库

    Git是目前世界上最先进的分布式版本控制系统(没有之一)。它的开发者就是大名鼎鼎的Linux操作系统的...如果有一个软件,不但能自动帮我记录每次文件的改动,还可以让同事协作编辑,这样就不用自己管理一堆类似的文件了

    git版本控制命令大全txt

    git init # 初始化本地git仓库(创建新仓库) git config --global user.name "xxx" # 配置用户名 git config --global user.email "xxx@xxx.com" # 配置邮件 git config --global color.ui true # git...

    linux环境下GIT学习讲解PPT

    本文是一个专门介绍Git的PPT,可以用来给新手讲解关于Git的知识。从Git简介、Git安装、创建Git版本库、Git版本库中的版本控制与搭建Git服务器五个方面介绍Git。

    Linux运维-04-日志分析-日志监控ELK-day03-生产案例及Git版本控制-08-创建本地git仓库-提交第1.mp4

    Linux运维-04-日志分析-日志监控ELK-day03-生产案例及Git版本控制-08-创建本地git仓库-提

    Java进阶版本管理工具Git全套视频教程

    6.6 修改文件,不提交和上一个版本比较差异(diff) 6.7 查看提交历史记录 6.8 回退至历史版本 6.9 文件删除 6.9.1本地删除与恢复 6.9.2从版本库删除 6.9.3从版本库删除,但是不删除本地 6.10 忽略提交 7. Git 的基本...

    Git基础用法

    1. 创建git远程仓库(创建git远程服务器) 12 2. 添加远程库 14 3. 从远程库克隆 15 4、 直接关联远程库 16 7、 分支管理 17 1、 创建与合并分支 17 2、 解决冲突 21 3、 分支管理策略 24 4、Bug处理 26 5、 多人...

    git常用指令

    ”git init –-bare”方法创建一个所谓的裸仓库,之所以叫裸仓库是因为这个仓库只保存git历史提交的版本信息,而不允许用户在上面进行各种git操作 git config --global $ git config --global user.name author #...

    Git分布式版本控制工具

    本章节我们会学习在IDEA中使用Git进行版本管理,具体包括: 在IDEA中创建工程并将工程添加至Git 将文件添加到暂存区 提交文件 将代码推送到远程仓库 从远程仓库克隆工程到本地 从远程拉取代码 版本对比 创建...

    git创建版本库_动力节点Java学院整理

    所以,创建一个版本库非常简单,首先,选择一个合适的地方,创建一个空目录: $ mkdir learngit $ cd learngit $ pwd /Users/michael/learngit pwd命令用于显示当前目录。在我的Mac上,这个仓库位于/Users/...

    git版本控制工具(二)----本地版本库的常用操作

    即:我们先要做好准备工作,将某个项目创建版本库,我这里就新建一个Android项目GitTest,创建一个版本库。打开GitBash,进入到这个项目的根目录下,然后执行gitinit命令,如下图所示:这样,准备工作就做好了。版本...

    4 创建版本库

    版本库(repository)即是一个仓库,可以简单地理解为是一个目录,这个目录里所有的文件都可以被 Git 管理,每个文件的修改、删除,Git 都能跟踪,以便可以在任何时刻追踪历史,或者还原文件。 第一步 选择一个位置...

    Git-2.21.0-32-bit

    GIt版本管理工具 Git Windows 2.21.0 32位 创建新仓库 创建新文件夹,打开,然后执行 git init 以创建新的 git 仓库。

    git学习笔记,入门指南以及常用git指令

    1.在本地创建一个新的版本库 $git init(cd至需要用到的地址,文件夹,用git init初始化版本库) 2.克隆一个已经存在的版本库 $git clone git@github.com:SourireG/gitskills.git(clone github上的远程库...

    git-recreate:从.git内容的副本重新创建整个git存储库

    还有一个问题是巨大的git repos几乎不可能通过慢速的互联网连接来克隆,因为一旦失败,就无法恢复下载(例如,您已经下载了2GB存储库的99%,并且连接断开了-您必须再次下载整个2 GB)。 在这种情况下,将存储库...

    Git原理详解与实操指南.zip

    Git原理详解与实操指南\pdf\03 初识Git本地创建一个 Git 仓库.pdf Git原理详解与实操指南\pdf\04 拉取远端代码:使用Git命令下载远程仓库到本地-专栏. Git原理详解与实操指南\pdf\05 提交代码:如何把修改后的代码...

    Git.docx

    Git是一个分布式版本控制系统,每个本地保留远程仓库的完整副本,在本地可以进行任何版本控制操作,比如修改,提交,创建分支,合并分支,回退等。需要时才推送到远程仓库。 2. Git文件保存 Git对每次提交,有变化的...

Global site tag (gtag.js) - Google Analytics