欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

其它

Jump to function declaration in php

普通分类: 

git refusing to merge unrelated histories git无法pull仓库refusing to merge unrelated histories

本文讲的是把Git在最新2.9.2,合并pull两个不同的项目,出现的问题如何去解决
普通分类: 

易百教程 记录更新到仓库

现在我们手上有了一个真实项目的 Git 仓库,并从这个仓库中取出了所有文件的工作拷贝。 接下来,对这些文件做些修改,在完成了一个阶段的目标之后,提交本次更新到仓库。

请记住,你工作目录下的每一个文件都不外乎这两种状态:已跟踪或未跟踪。 已跟踪的文件是指那些被纳入了版本控制的文件,在上一次快照中有它们的记录,在工作一段时间后,它们的状态可能处于未修改,已修改或已放入暂存区。 工作目录中除已跟踪文件以外的所有其它文件都属于未跟踪文件,它们既不存在于上次快照的记录中,也没有放入暂存区。 初次克隆某个仓库的时候,工作目录中的所有文件都属于已跟踪文件,并处于未修改状态。

普通分类: 

易百教程 获取Git仓库

假如你只能阅读一章来学习 Git,本章就是你的不二选择。 本章内容涵盖你在使用 Git 完成各种工作中将要使用的各种基本命令。 在学习完本章之后,你应该能够配置并初始化一个仓库(repository)、开始或停止跟踪(track)文件、暂存(stage)或提交(commit)更改。 本章也将向你演示如何配置 Git 来忽略指定的文件和文件模式、如何迅速而简单地撤销错误操作、如何浏览你的项目的历史版本以及不同提交(commits)间的差异、如何向你的远程仓库推送(push)以及如何从你的远程仓库拉取(pull)文件。

获取 Git 仓库

有两种取得 Git 项目仓库的方法。 第一种是在现有项目或目录下导入所有文件到 Git 中; 第二种是从一个服务器克隆一个现有的 Git 仓库。

普通分类: 

易百教程 初次运行Git配置

既然已经在系统上安装了 Git,你会想要做几件事来定制你的 Git 环境。 每台计算机上只需要配置一次,程序升级时会保留配置信息。 你可以在任何时候再次通过运行命令来修改它们。

Git 自带一个 git config 的工具来帮助设置控制 Git 外观和行为的配置变量。 这些变量存储在三个不同的位置:

  1. /etc/gitconfig 文件: 包含系统上每一个用户及他们仓库的通用配置。 如果使用带有 --system 选项的 git config 时,它会从此文件读写配置变量。

  2. ~/.gitconfig~/.config/git/config 文件:只针对当前用户。 可以传递 --global选项让 Git 读写此文件。

普通分类: 

易百教程 Git安装配置

在你开始使用 Git 前,需要将它安装在你的计算机上。 即便已经安装,最好将它升级到最新的版本。 你可以通过软件包或者其它安装程序来安装,或者下载源码编译安装。

注意: 写本文作时使用的 Git 版本为 2.0.0。 我们使用的大部分命令仍然可以在很古老的 Git 版本上使用,但也有少部分命令不好用或者在旧版本中的行为有差异。 因为 Git 在保持向后兼容方面表现很好,本书使用的这些命令在 2.0 之后的版本应该有效。

在 Linux 上安装

如果你想在 Linux 上用二进制安装程序来安装 Git,可以使用发行版包含的基础软件包管理工具来安装。 如果以 Fedora 上为例,你可以使用 yum

普通分类: 

易百教程 Git命令行

Git 有多种使用方式。 你可以使用原生的命令行模式,也可以使用 GUI 模式,这些 GUI 软件也能提供多种功能。 在本书中,我们将使用命令行模式。 这是因为首先,只有在命令行模式下你才能执行 Git 的 所有 命令,而大多数的 GUI 软件只实现了 Git 所有功能的一个子集以降低操作难度。 如果你学会了在命令行下如何操作,那么你在操作 GUI 软件时应该也不会遇到什么困难,但是,反之则不成立。 此外,由于每个人的想法与侧重点不同,不同的人常常会安装不同的 GUI 软件,但 所有 人一定会有命令行工具。

假如你是 Mac 用户,我们希望你懂得如何使用终端(Terminal);假如你是 Windows 用户,我们希望你懂得如何使用命令窗口(Command Prompt)或 PowerShell。 如果你尚未掌握以上技能,我们建议你先停下来快速学习一下,本书中的讲述和举例将用到这些技能。

普通分类: 

易百教程 Git基础 有大用

简单地说,Git 究竟是怎样的一个系统呢? 请注意接下来的内容非常重要,若你理解了 Git 的思想和基本工作原理,用起来就会知其所以然,游刃有余。 在开始学习 Git 的时候,请努力分清你对其它版本管理系统的已有认识,如 Subversion 和 Perforce 等;这么做能帮助你使用工具时避免发生混淆。 Git 在保存和对待各种信息的时候与其它版本控制系统有很大差异,尽管操作起来的命令形式非常相近,理解这些差异将有助于防止你使用中的困惑。

普通分类: 

易百教程 Git历史(简史)

同生活中的许多伟大事物一样,Git 诞生于一个极富纷争大举创新的年代。

Linux 内核开源项目有着为数众广的参与者。 绝大多数的 Linux 内核维护工作都花在了提交补丁和保存归档的繁琐事务上(1991-2002年间)。 到 2002 年,整个项目组开始启用一个专有的分布式版本控制系统 BitKeeper 来管理和维护代码。

到了 2005 年,开发 BitKeeper 的商业公司同 Linux 内核开源社区的合作关系结束,他们收回了 Linux 内核社区免费使用 BitKeeper 的权力。 这就迫使 Linux 开源社区(特别是 Linux 的缔造者 Linus Torvalds)基于使用 BitKeeper 时的经验教训,开发出自己的版本系统。 他们对新的系统制订了若干目标:

普通分类: 

易百教程 什么是版本控制?

在开始学习 Git 之前,我们先从介绍有关版本控制工具的一些背景知识开始,然后讲解如何在你的系统运行 Git,最后是关于如何设置 Git 开始你的工作。 通过本章的学习,你应该了解为什么 Git 这么流行,为什么你应该使用 Git 以及你应该如何设置以便使用 Git。

关于版本控制

什么是“版本控制”?我为什么要关心它呢? 版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。 在本书所展示的例子中,我们对保存着软件源代码的文件作版本控制,但实际上,你可以对任何类型的文件进行版本控制。

普通分类: 

易百教程 git push

   

    git push命令用于将本地分支的更新,推送到远程主机。它的格式与git pull命令相仿。

$ git push <远程主机名> <本地分支名>:<远程分支名>


普通分类: 

易百教程 git pull

git pull命令的作用是,取回远程主机某个分支的更新,再与本地的指定分支合并。它的完整格式稍稍有点复杂。

$ git pull <远程主机名> <远程分支名>:<本地分支名>


普通分类: 

易百教程 git fetch

一旦远程主机的版本库有了更新(Git术语叫做commit),需要将这些更新取回本地,这时就要用到git fetch命令。

普通分类: 

易百教程 git remote

为了便于管理,Git要求每个远程主机都必须指定一个主机名。git remote命令就用于管理主机名。

不带选项的时候,git remote命令列出所有远程主机。

普通分类: 

易百教程 git clone

远程操作的第一步,通常是从远程主机克隆一个版本库,这时就要用到git clone命令。

普通分类: 

易百教程 Git远程操作详解

Git是目前最流行的版本管理系统,学会Git几乎成了开发者的必备技能。

Git有很多优势,其中之一就是远程操作非常简便。本文详细介绍5个Git命令,它们的概念和用法,理解了这些内容,你就会完全掌握Git远程操作。

普通分类: 

易百教程 GitHub 在线存储库

GitHub是使用Git的版本控制系统是一个基于网络的托管服务的软件开发项目。它也有其标准的GUI应用程序可供下载(在Windows,Mac,GNU/Linux)的直接从服务的网站。但在这个环节中,我们将只能看到CLI部分。

创建GitHub的资料库

去到 github.com. 如果您已经GitHub的帐户,然后使用该帐户登录,或创建新的。从  github.com 网站按照以下步骤来创建新的存储库。 

推送操作

Tom 决定使用GitHub上服务器。要开始新的项目,他将创建一个新的目录和一个文件里面。

普通分类: 

易百教程 Git 不同的平台

GNU/ Linux 和 Mac OS使用换行符(LF)或新行作为行结束字符,而Windows 使用换行和回车(LFCR)的组合来表示行结束字符。

为了避免不必要的提交,因为这些行结束的差异,Git客户端配置写在同一行结束 Git 仓库。

对于Windows系统中,我们可以配置的Git客户端换行符转换为CRLF格式,同时检查了,并把它们转换回LF格式提交操作过程中。下面设置将不可少。

普通分类: 

易百教程 Git 冲突处理

执行wchar_support分支变化

Jerry 工作在wchar_support分支。他改变了名称的功能和测试后,他提交他的变化。

[jerry@CentOS src]$ git branch
 master
* wchar_support
[jerry@CentOS src]$ git diff

上面的命令产生以下结果

普通分类: 

易百教程 Git 管理分支

分支操作可以创造另一条线的发展。对fork过程分为两个不同的方向发展,我们可以使用此操作。例如,我们发布了6.0版本的产品,我们可能要创建一个分支,使7.0功能的发展可以保持独立从6.0 bug修复。

创建分支

使用Git分支<branch name> 命令创建新的分支。从现有的,我们可以创建一个新的分支。我们可以使用特定的提交或标签作为一个起点。如果没有提供任何具体的提交ID,然后分支将HEAD 创建作为一个起点。

普通分类: 

易百教程 Git 补丁操作

补丁是文本文件,其内容是相似于Git diff,但随着代码,它也有元数据有关提交,如提交ID,日期,提交信息等,我们可以创建补丁提交和其他人可以将它们应用到自己的资料库。

Jerry 为他们的项目实现strcat函数。 Jerry 可以创建自己的代码路径发送到Tom。那么他就可以收到Jerry 的代码补丁。

杰里使用Git format-patch 命令来创建最新提交的补丁。如果想创建补丁具体提交,然后使用COMMIT_ID 和 ormat-patch 命令。

普通分类: 

易百教程 Git 标签操作

允许有意义的名称到一个特定的版本库中的标签操作。Tom 决定标记他们的项目代码,以便他们以后可以更容易访问。

创建标签

让我们标记当前HEAD使用git tag命令。他提供的标记名称前加上-a选项,使用-m选项,并提供标签信息。

普通分类: 

易百教程 Git 修正错误

大部分的人都会犯错。所以每VCS提供了一个功能,修正错误,直到特定的点。 Git提供功能使用,我们可以撤销已作出的修改到本地资源库。

假设用户不小心做了一些更改,以他的本地的仓库,现在他要扔掉这些变化。在这种情况下,恢复操作中起着重要的作用。

恢复未提交的更改

让我们假设Jerry 不小心修改文件从自己的本地仓库。但他想扔掉他的修改。要处理这种情况,我们可以使用git checkout命令。我们可以使用这个命令来恢复文件的内容。

普通分类: 

易百教程 Git 删除操作

Tom 更新了自己的本地存储库并进入src目录下找到编译后的二进制。查看提交信息后,他意识到,编译后的二进制是由Jerry加入的。 .

普通分类: 

易百教程 Git 重命名操作

截至目前,Tome 和Jerry 都使用手动命令来编译自己的项目。Jerry 决定为他们的项目创建 Makefile,并给予适当的名称来命名“string.c” 文件。

普通分类: 

易百教程 Git 移动操作

顾名思义移动(move )操作移动目录或文件从一个位置到另一个。Tom 决定移动到src目录下的源代码。因此,修改后的目录结构看起来会像这样。

普通分类: 

易百教程 Git 藏匿操作

假设您正在为您的产品实施的一项新功能。你的代码是在推进开发进度而客户不断升级需求突然来了。正因为如此,你必须保持放下你的新功能,工作几个小时。你不能提交你的部分代码,也不能扔掉你的变化。所以,你需要一些临时空间,在那里你可以存储你的部分修改,以便以后再提交。

在Git中,藏匿操作需要修改的跟踪文件和阶段的变化,并将其保存在栈上未完成的更改,可以在任何时候重新。

[jerry@CentOS project]$ git status -s
M string.c
?? string

现在要切换分支机构为客户不断升级,但你不想提交你的工作,所以你会藏匿的变化。要推一个新的藏匿到您的堆栈,运行git stash命令

普通分类: 

易百教程 Git 更新操作

修改现有函数

Tom 执行克隆操作后,看到新的文件string.c,他想知道这个文件到存储库?目的是什么?于是,他执行 git 日志命令。

[tom@CentOS ~]$ git clone gituser@git.server.com:project.git

上面的命令会产生以下结果。

普通分类: 

易百教程 Git 推送操作

Jerry 修改了他的最后一次提交的修改操作,他已经准备好将更改。推操作的数据永久存储的 Git 仓库。推操作成功后,其他开发人员可以看到Jerry 的变化。

他执行的git日志命令来查看提交的细节。

[jerry@CentOS project]$ git log

上面的命令会产生以下结果。

普通分类: 

易百教程 Git 提交更改

Jerry 已经提交的更改,他想纠正他的最后一次提交,在这种情况下,git 的修改将帮助操作。最后提交修改操作的变化,包括提交信息,它创建新的提交ID。

修改操作之前,他会检查提交日志。

[jerry@CentOS project]$ git log

上面的命令会产生以下结果。

普通分类: 

页面

Subscribe to RSS - 其它