`
pcajax
  • 浏览: 2197045 次
  • 性别: 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版本库操作手册及管理规范.zip

    这份“GIT版本库操作手册及管理规范”文档很显然是为了帮助用户理解和掌握Git的基本操作以及团队协作中的最佳实践。以下是对Git核心概念和常用命令的详细解析: 1. **Git基本概念** - **版本库(Repository)**:...

    git版本库管理.doc

    1. **创建版本库**:要创建一个新的Git版本库,首先通过`mkdir`创建目录,然后进入目录并使用`git init`命令初始化该目录为Git仓库。 2. **文件管理**:将文件添加到版本库中,使用`git add`命令,如`git add file....

    可以在windowsxp安装的最后一个git版本

    本文将深入探讨可以在Windows XP上安装的最后一个Git版本——Git-2.10.0-32-bit.exe,以及与之相关的知识。 首先,让我们了解Windows XP系统。Windows XP是一款由微软公司开发的操作系统,于2001年发布,因其稳定性...

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

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

    git版本控制学习

    在开始使用Git之前,我们需要先创建一个版本库(repository)。版本库是用来存储项目历史记录的地方,通常是一个包含`.git`目录的文件夹。`.git`目录包含了所有必要的信息,如提交历史、分支引用等。 1. **创建文件夹...

    Git版本控制管理 第2版

    GitHub是一个基于Web的Git版本控制系统,提供了丰富的在线功能,如代码托管、问题追踪、Pull Request等功能,非常适合团队协作。 - **创建仓库**:在GitHub上创建一个新的仓库。 - **拉取请求**:通过Pull Request...

    Git版本控制管理 第2版.pdf.zip

    1. **Git基础**:安装与配置Git,创建和克隆仓库,理解版本库的工作原理,以及基本命令如`git add`(追踪文件变更)、`git commit`(保存变更)、`git push`(推送本地更改至远程仓库)和`git pull`(拉取远程更新)...

    git版本分支管理

    此外,我们还需要了解 Gitk 命令,这是一个图形化的Git版本控制工具,用于查看当前版本的情况。例如,gitk --all 命令可以显示当前版本的所有提交记录和分支关系。 在使用Git时,我们还需要了解 Git remote 命令,...

    《Git版本控制管理(第2版)》

    每个开发者的工作副本实际上就是一个完整的版本库,这使得开发者可以在本地执行几乎所有操作而无需与中央服务器通信。 - **高效的数据完整性**:Git通过SHA-1散列算法确保数据的完整性和一致性,每个文件或目录的...

    git仓库创建和项目发布.docx

    Git 是一个开源的分布式版本控制系统,广泛应用于软件开发、文档管理和其他需要版本控制的领域。作为一个初学者,创建 Git 仓库和发布项目可以是一件让人感到困惑的事情。但是,通过这篇文章,我们将一步步地指导您...

    git版本控制流程

    整个Git版本控制流程的描述中,穿插了一个故事,用以说明版本控制的概念和实际应用,强调了各种Git命令在实际开发中的应用场景和重要性。通过故事化的叙述,使得原本可能枯燥的版本控制命令变得生动有趣,更容易理解...

    git版本控制工具

    1. 分布式:每个开发者的本地机器都有一个完整的版本库,可以离线进行提交和操作,无需依赖中央服务器。这提高了效率并减少了网络依赖。 2. 分支管理:Git的分支机制非常轻便,使得开发者可以快速创建、合并分支,...

    Python-利用代码和数据来创建一个git仓库展示Unix源代码的历史

    在本项目中,我们将探讨如何使用Python编程语言和相关工具来创建一个git仓库,以便展示Unix操作系统的源代码历史。这个过程涉及到版本控制、代码分析和数据处理等多个方面,是理解软件演进历程的一个有趣实践。 ...

    Git软件版本控制.pdf

    Git是一个分布式版本控制系统,它最初由Linus Torvalds于2005年创建,目的是更好地管理Linux内核的开发。在随后的年份中,Git因其优越的性能、速度以及对分布式开发的天然支持,迅速成为了开源社区和私有软件开发中...

    git官方版,稳定版本

    1. 分布式:每个开发者的本地机器上都有一个完整的版本库,无需依赖中央服务器进行日常操作,这极大地提高了开发效率和协作灵活性。 2. 版本控制:Git能够记录每一次代码修改,通过SHA-1哈希值确保每个版本都是唯一...

    Git版本管理工具

    仓库是存储项目所有版本的地方,分支则是开发的不同线路,每个提交代表代码的一个特定状态,合并用于将不同分支的更改整合在一起,而克隆则用于复制远程仓库到本地。 Git的常用命令包括`git init`来创建新的Git仓库...

    git版本管理基本流程

    Git版本管理是软件开发中的一个重要环节,它帮助开发者管理和跟踪代码的变更,便于团队协作和代码审查。基本流程涉及创建分支、提交更改、代码同步等操作。下面将详细解读git版本管理的基本流程和相关知识点。 **...

    Git 是一个分布式版本控制系统,用于管理代码版本和协作开发 下面是一个 Git 教程,covering the basics

    Git 是一个分布式版本控制系统,用于管理代码版本和协作开发。下面是一个 Git 教程,covering the basics of Git and its usage: 1. Git 的基本概念 Repository(仓库): Git 存储代码的主要位置。 Commit(提交...

    Git-2.30.2-64-bit,git最稳定版本版本可兼容win11

    1. 分布式:每个开发者的本地机器上都有一个完整的版本库,可以离线进行提交、分支和合并操作,提高了开发效率。 2. 强大的分支和合并:Git提供轻量级的分支机制,方便快速创建和切换分支,便于多线程开发。同时,其...

    GIT版本管理使用技巧

    ### GIT版本管理使用技巧 #### 1. 建立并导入GIT库 建立GIT库首先需要选择一个源码目录,如cdec_tools_code,并确保目录下没有不应该提交的文件,例如tags,这些文件在初始导入时应当删除。通过执行`git init`来...

Global site tag (gtag.js) - Google Analytics