Gitfaq

Git常见问题20250507

git配置 #

我应该在 user.name 中放什么? #

您应该填写您的个​​人姓名,通常是使用名字和姓氏的形式。例如, Git 的当前维护者使用 “Junio C Hamano” 。这将是您所做的每个提交中存储的姓名部分。

此配置对远程服务的身份验证没有任何影响;有关详细信息,请参阅 git-config[1] 中的 credential.username 。

http.postBuffer 到底起什么作用? #

此选项可更改 Git 通过 HTTP 或 HTTPS 将数据推送到远程时使用的缓冲区大小。如果数据大于此大小,处理 Git 的 HTTP 支持的 libcurl 将使用分块传输编码,因为事先不知道推送的数据的大小。

将此值保留为默认大小是可以的,除非您知道远程服务器或中间的代理不支持 HTTP/1.1(引入了分块传输编码)或已知分块数据会中断。这通常(错误地)被建议作为一般推送问题的解决方案,但由于几乎每个服务器和代理都至少支持 HTTP/1.1,因此提高此值通常无法解决大多数推送问题。无法正确支持 HTTP/1.1 和分块传输编码的服务器或代理在当今的互联网上不会那么有用,因为它会中断大量流量。

请注意,增加此值将增加 Git 通过 HTTP 或 HTTPS 执行的每个相关推送所使用的内存,因为无论是否全部使用,都会分配整个缓冲区。因此,最好将其保留为默认值,除非您确定需要不同的值。

git如何配置不同的编辑器? #

如果您没有为 Git 专门指定编辑器,它将默认使用您通过 VISUAL 或 EDITOR 环境变量配置的编辑器,如果两者都未指定,则使用系统默认编辑器(通常为 vi )。由于有些人发现 vi 难以使用或更喜欢其他编辑器,因此可能需要更改使用的编辑器。

如果要为大多数需要编辑器的程序配置通用编辑器,可以编辑 shell 配置(例如 ~/.bashrc 或 ~/.zshenv ),使其包含一行,将 EDITOR 或 VISUAL 环境变量设置为适当的值。例如,如果您更喜欢编辑器 nano ,则可以编写以下内容:

...

Git备忘录

Git 是一个免费的开源分布式版本控制系统,旨在快速高效地处理从小型到超大型项目的所有项目。

Git 易于学习,占用空间小,性能快如闪电。它超越了 Subversion、CVS、Perforce 和 ClearCase 等 SCM 工具,具有廉价的本地分支、方便的暂存区域和多个工作流程等功能。

– 来自git-scm的官方介绍

git是一个分布式版本控制软件,最初由林纳斯·托瓦兹创作,于2005年以GPL许可协议发布。最初目的是为了更好地管理Linux内核开发而设计。应注意的是,这与GNU Interactive Tools(一个类似Norton Commander界面的文件管理器)不同。

git最初的开发动力来自于BitKeeper和Monotone。git最初只是作为一个可以被其他前端(比如Cogito或Stgit)包装的后端而开发的,但后来git内核已经成熟到可以独立地用作版本控制。很多被广泛使用的软件项目都使用 git 进行版本控制,其中包括 Linux 内核、X.Org服务器和OLPC内核等项目的开发流程。

Git备忘录 #

git创建仓库 #

在本地初始化仓库,然后将本地仓库与一个 GitHub 上的空仓库连接起来。

$ mkdir lrepo
$ cd lrepo
$ git init
$ git remote add origin [url]

git clone一个已存在于 GitHub 上的仓库,包括所有的文件、分支和提交(commits)

$ git clone [url]

git全局配置 #

## 配置用户名
$ git config --global user.name "[name]"

## 配置邮箱
$ git config --global user.email "[email address]"

### 配置彩色输出
$ git config --global color.ui auto

git分支 #

分支是使用 Git 工作的一个重要部分。你做的任何提交都会发生在当前“checked out”到的分支上。使用 git status 查看那是哪个分支。

...