差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
public:it:git [2024/05/22 09:54] – [Tips] oakfire | public:it:git [2025/08/11 11:18] (当前版本) – [Ignore] oakfire | ||
---|---|---|---|
行 12: | 行 12: | ||
* SVN 的分支是一个完整文件目录;而 git 只保持一份本地文件目录,切换分支直接改变该目录文件; | * SVN 的分支是一个完整文件目录;而 git 只保持一份本地文件目录,切换分支直接改变该目录文件; | ||
* GIT 没有全局唯一版本号;SVN 有; | * GIT 没有全局唯一版本号;SVN 有; | ||
- | * git 可以打 tag 来弥补; | + | * git 可以打 tag 来弥补;但是 tag 只与 commit id对应,而 commit id 不能保证代码的唯一性(因为不同分支的同一 commit id 之前的提交历史可能不一样),所以要保证 tag 唯一性,可额外人为规定只有主分支打的tag是有效的。 |
===== 三、GIT 资料 ===== | ===== 三、GIT 资料 ===== | ||
行 20: | 行 20: | ||
* CentOS yum 默认只有1.7.1 版本, 但像github.com等网站需要高于此版本. 此时需要源码安装升级. | * CentOS yum 默认只有1.7.1 版本, 但像github.com等网站需要高于此版本. 此时需要源码安装升级. | ||
* 如果源码安装, | * 如果源码安装, | ||
+ | |||
+ | ==== Tools ==== | ||
+ | * 显示仓库信息[[https:// | ||
==== Usage==== | ==== Usage==== | ||
行 31: | 行 34: | ||
* [[http:// | * [[http:// | ||
* [[https:// | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
==== Ignore ==== | ==== Ignore ==== | ||
* [[http:// | * [[http:// | ||
+ | * 白名单的写法为:< | ||
+ | * | ||
+ | |||
+ | !.gitignore | ||
+ | |||
+ | # whitelist `src` directories and their children, regardless of place | ||
+ | !src/ | ||
+ | !src/**/ | ||
+ | !src/**/*.h | ||
+ | !src/ | ||
+ | |||
+ | !/docs/ | ||
+ | !/docs/*.md | ||
+ | </ | ||
==== Submodule ==== | ==== Submodule ==== | ||
* 参考[[http:// | * 参考[[http:// | ||
行 134: | 行 153: | ||
* 从历史记录删除:'' | * 从历史记录删除:'' | ||
* 显示差异时忽略行尾空格差异: <code bash>git diff --ignore-space-at-eol</ | * 显示差异时忽略行尾空格差异: <code bash>git diff --ignore-space-at-eol</ | ||
+ | * git log 中文显示为尖括号码,修正方式:'' | ||
==== server: gitolite ==== | ==== server: gitolite ==== | ||
行 145: | 行 165: | ||
但对使用者来说, | 但对使用者来说, | ||
考虑找个或弄个简化版的本地版本控制系统, | 考虑找个或弄个简化版的本地版本控制系统, | ||
- | 这篇文章不错:https:// | + | 这篇文章不错:https:// |
+ | 这个可借鉴:https:// | ||
</ | </ | ||