Initial commit

This commit is contained in:
Dichgrem 2024-03-15 20:19:31 +08:00
parent cd96fbcd3f
commit 6d0804721b
15 changed files with 984 additions and 207 deletions

265
content/git.md Normal file
View File

@ -0,0 +1,265 @@
+++
title = "Git使用简明手册"
date = 2024-03-15
[taxonomies]
tags = ["Git"]
+++
前言 Git作为现代软件开发中不可或缺的版本控制工具常常让初学者感到困惑。本文旨在介绍 Git 的全流程安装和基本使用,希望能够帮助新手更轻松地理解和掌握 Git 的基本概念和操作。
<!-- more -->
## 安装git
Windows[https://git-scm.com/download/](https://git-scm.com/download/)
Archlinux`sudo pacman -S git`
安装完成后检查版本:`git --version`
## 创建新仓库
如果你的目录不是一个 Git 仓库,你需要先初始化。
创建新文件夹,在你的项目目录中运行以下命令:
`git init`
设置默认仓库为main,避免因为main/master名称不同的牛马问题
`git init --initial-branch=main`
## 克隆仓库
执行如下命令以创建一个本地仓库的克隆版本:
`git clone /path/to/repository`
如果是远端服务器上的仓库,你的命令会是这个样子:
`git clone username@host:/path/to/repository`
## 连接远程仓库
生成密钥:
`ssh-keygen -t rsa -b 4096 -C "your_email@example.com"`
可以生成多个不同名字的密钥:
`ssh-keygen -t rsa -b 4096 -C "your_email@example.com" -f ~/.ssh/github_key1`
`ssh-keygen -t rsa -b 4096 -C "your_email@example.com" -f ~/.ssh/github_key2`
使用 `ssh-add` 命令将生成的密钥添加到 SSH 代理中。
`ssh-add ~/.ssh/github_key1`
`ssh-add ~/.ssh/github_key2`
`~/.ssh/config` 文件中配置不同的主机别名以及相应的密钥文件。编辑该文件并添加以下内容:
`# GitHub repository 1`
`Host github1`
HostName github.com
User git
IdentityFile ~/.ssh/github_key1
`# GitHub repository 2`
`Host github2`
HostName github.com
User git
IdentityFile ~/.ssh/github_key2
连接到github
`ssh -T git@github.com`
添加远程仓库:
`git remote add origin <remote_repository_url>`
比如我已经在 GitHub 上创建了一个名为 `dichos` 的仓库,你可以使用以下命令将其添加为远程仓库:
`git remote add origin git@github.com:Dichgrem/dichos.git`
设置远程仓库
`git remote set-url origin git@github.com:Dichgrem/dichos.git`
## 工作流
本地仓库由 git 维护的三棵“树”组成。第一个是你的 `工作目录`,它持有实际文件;第二个是 `暂存区Index`,它像个缓存区域,临时保存你的改动;最后是 `HEAD`,它指向你最后一次提交的结果。
## 创建一个分支
`git branch main`
这将创建一个名为 main 的分支。
## 删除分支
`git branch -d master`
使用大写强制删除
`git branch -D master`
## 添加和提交
你可以提出更改(把它们添加到暂存区),使用如下命令:
`git add <filename>`
`git add *`
这是 git 基本工作流程的第一步;使用如下命令以实际提交改动:
`git commit -m "代码提交信息"`如:
`git commit -m "Initial commit"`
现在,你的改动已经提交到了 **HEAD**,但是还没到你的远端仓库。
## 推送改动
你的改动现在已经在本地仓库的 **HEAD** 中了。执行如下命令以将这些改动提交到远端仓库:
`git push origin master`
可以把 *master* 换成你想要推送的任何分支。
如果你还没有克隆现有仓库,并欲将你的仓库连接到某个远程服务器,你可以使用如下命令添加:
`git remote add origin <server>`
如此你就能够将你的改动推送到所添加的服务器上去了。
## 合并分支
分支是用来将特性开发绝缘开来的。在你创建仓库的时候,*master* 是“默认的”分支。在其他分支上进行开发,完成后再将它们合并到主分支上。
创建一个叫做“feature_x”的分支并切换过去
`git checkout -b feature_x`
切换回主分支:
`git checkout master`
再把新建的分支删掉:
`git branch -d feature_x`
除非你将分支推送到远端仓库,不然该分支就是 *不为他人所见的*
`git push origin <branch>`
## 更新与合并
要更新你的本地仓库至最新改动,执行:
`git pull`
以在你的工作目录中 ***获取**fetch* 并 ***合并**merge* 远端的改动。
要合并其他分支到你的当前分支(例如 master执行
`git merge <branch>`
在这两种情况下git 都会尝试去自动合并改动。遗憾的是这可能并非每次都成功并可能出现_冲突conflicts*。 这时候就需要你修改这些文件来手动合并这些_冲突conflicts*。改完之后,你需要执行如下命令以将它们标记为合并成功:
`git add <filename>`
在合并改动之前,你可以使用如下命令预览差异:
`git diff <source_branch> <target_branch>`
## 标签
为软件发布创建标签是推荐的。这个概念早已存在,在 SVN 中也有。你可以执行如下命令创建一个叫做 *1.0.0* 的标签:
`git tag 1.0.0 1b2e1d63ff`
*1b2e1d63ff* 是你想要标记的提交 ID 的前 10 位字符。可以使用下列命令获取提交 ID
`git log`
你也可以使用少一点的提交 ID 前几位,只要它的指向具有唯一性。
## 日志
如果你想了解本地仓库的历史记录,最简单的命令就是使用:
`git log`
你可以添加一些参数来修改他的输出,从而得到自己想要的结果。 只看某一个人的提交记录:
`git log --author=bob`
一个压缩后的每一条提交记录只占一行的输出:
`git log --pretty=oneline`
或者你想通过 ASCII 艺术的树形结构来展示所有的分支, 每个分支都标示了他的名字和标签:
`git log --graph --oneline --decorate --all`
看看哪些文件改变了:
`git log --name-status`
这些只是你可以使用的参数中很小的一部分。更多的信息,参考:
`git log --help`
## 替换本地改动
假如你操作失误(当然,这最好永远不要发生),你可以使用如下命令替换掉本地改动:
`git checkout -- <filename>`
此命令会使用 HEAD 中的最新内容替换掉你的工作目录中的文件。已添加到暂存区的改动以及新文件都不会受到影响。
假如你想丢弃你在本地的所有改动与提交,可以到服务器上获取最新的版本历史,并将你本地主分支指向它:
`git fetch origin`
`git reset --hard origin/master`
## 修改默认分支
git目前默认的主分支为master和github默认分支main不同这使得默认配置下git往往连接失败。可以通过下两种方法改变默认分支。在本地git init时将默认分支修改成main
```csharp
1. git --version //查看版本
2. git config --global init.defaultBranch main //将默认分支修改成main
3. git init //本地项目文件夹内创建.git文件夹
4. git add . //添加到暂存区
5. git commit -a [描述的内容] //记录修改行为
6. git pull --rebase origin main //拉github上的readme.md
7. git push origin main //上传代码
```
也可以不修改git上的默认分支而是修改github上库的默认分支。
## Windows下git使用代理
由于网络环境的差异Git连接github需要代理或者全局模式。Git支持四种协议而除本地传输外还有git://, ssh://, 基于HTTP协议这些协议又被分为哑协议HTTP协议和智能传输协议。对于这些协议要使用代理的设置也有些差异
- 使用 `git协议` 时,设置代理需要配置 `core.gitproxy`
- 使用 `HTTP协议` 时,设置代理需要配置 `http.proxy`
- 而使用 `ssh协议`代理需要配置ssh的 `ProxyCommand` 参数
由于个人需求仅仅是HTTP的代理相对来说HTTP有比较好的通适性Windows配置git/ssh比较棘手设置的时候只需要针对单个设置 `http.proxy` 即可,在需要使用代理的项目下面使用 `git bash` 如下命令进行设置你的Uri和port可能和我的不同
`git config http.proxy` [http://127.0.0.1:2080](http://127.0.0.1:8088) `# 也可以是uri:port形式`
这个是不需要鉴权的代理设置,如果需要鉴权,可能需要添加用户名密码信息:
`git config http.proxy` [http://username:password@127.0.0.1:2080](http://username:password@127.0.0.1:8088)
如果git的所有项目都需要启用代理那么可以直接启用全局设置
`git config --global http.proxy` [http://127.0.0.1:2080](http://127.0.0.1:8088)
为了确认是否已经设置成功,可以使用 `--get` 来获取:
`git config --get --global http.proxy`
这样可以看到你设置在global的 `http.proxy` 值。 
需要修改的时候再次按照上面的方法设置即可git默认会覆盖原有的配置值。
当我们的网络出现变更时,可能需要删除掉原有的代理配置,此时需要使用 `--unset` 来进行配置:
`git config --global --unset http.proxy`
在命令之后,指定位置的设置值将会被清空,你可以再次使用 `--get` 来查看具体的设置情况。
如果使用了HTTPS肯呢个会碰到HTTPS 证书错误的情况,比如提示: `SSL certificate problem` ,此时,可以尝试将 `sslVerify` 设置为 `false`
`git config --global http.sslVerify false`
到此可以试试git来获取/更改项目了,此时,项目应该是使用代理来进行通讯的。
## 注意
- 不要多次使用不同的参数来设置代理,一般使用文中两种方式酌情选用即可, `--global` `--system` `--local` 各级设置后可能会给自己带来不必要的麻烦。git默认是先到git Repository的配置文件中查找配置文件如果没有才会到 `--global` 设置的文件中查找,因此,单个项目文件中的设置会覆盖 `--global` 的设置。
- 使用 `--global` 来配置的信息保存在当前用户的根目录下的 `.config` 文件中,而仓库中的配置保存在项目仓库的根目录下的 `.git/config` 文件中。
- 如果是Linux的用户建议全局代理。

View File

@ -79,6 +79,16 @@
<ul><li class="post-list">
<a href="https://blog.dich.ink/git/">
<span class="post-date">2024-03-15</span>
:: <span class="post-list-title">Git使用简明手册</span></a>
<span class="post-tags-inline">
::
<a class="post-tag" href="https://blog.dich.ink/tags/git/">#Git</a></span>
</li>
<li class="post-list">
<a href="https://blog.dich.ink/talk-bios-uefi-mbr-gpt-grub/">
<span class="post-date">2024-03-15</span>
:: <span class="post-list-title">BIOS-UEFI-MBR-GPT-GRUB</span></a>

View File

@ -7,6 +7,26 @@
<generator uri="https://www.getzola.org/">Zola</generator>
<updated>2024-03-15T00:00:00+00:00</updated>
<id>https://blog.dich.ink/atom.xml</id>
<entry xml:lang="en">
<title>Git使用简明手册</title>
<published>2024-03-15T00:00:00+00:00</published>
<updated>2024-03-15T00:00:00+00:00</updated>
<author>
<name>
Unknown
</name>
</author>
<link rel="alternate" type="text/html" href="https://blog.dich.ink/git/"/>
<id>https://blog.dich.ink/git/</id>
<summary type="html">&lt;p&gt;前言 Git作为现代软件开发中不可或缺的版本控制工具常常让初学者感到困惑。本文旨在介绍 Git 的全流程安装和基本使用,希望能够帮助新手更轻松地理解和掌握 Git 的基本概念和操作。&lt;&#x2F;p&gt;
</summary>
</entry>
<entry xml:lang="en">
<title>BIOS-UEFI-MBR-GPT-GRUB</title>
<published>2024-03-15T00:00:00+00:00</published>

303
public/git/index.html Normal file
View File

@ -0,0 +1,303 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Dich&#x27;blog</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=5">
<meta name="robots" content="noodp"/>
<link rel="stylesheet" href="https://blog.dich.ink/style.css">
<link rel="stylesheet" href="https://blog.dich.ink/color/blue.css">
<link rel="stylesheet" href="https://blog.dich.ink/color/background_dark.css">
<link rel="stylesheet" href="https://blog.dich.ink/font-hack-subset.css">
<meta name="description" content="">
<meta property="og:description" content="">
<meta property="og:title" content="Dich'blog">
<meta property="og:type" content="article">
<meta property="og:url" content="https://blog.dich.ink/git/">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:description" content="">
<meta name="twitter:title" content="Dich'blog">
<meta property="twitter:domain" content="blog.dich.ink">
<meta property="twitter:url" content="https://blog.dich.ink/git/">
<link rel="alternate" type="application/atom+xml" title="RSS" href="https://blog.dich.ink/atom.xml">
</head>
<body class="">
<div class="container">
<header class="header">
<div class="header__inner">
<div class="header__logo">
<a href="https://blog.dich.ink" style="text-decoration: none;">
<div class="logo">
Dich&#x27;blog
</div>
</a>
</div>
</div>
<nav class="menu">
<ul class="menu__inner">
<li class="active"><a href="https://blog.dich.ink">blog</a></li>
<li><a href="https://blog.dich.ink/tags">tags</a></li>
<li><a href="https://blog.dich.ink/archive">archive</a></li>
<li><a href="https://blog.dich.ink/about">about me</a></li>
<li><a href="https://github.com/Dichgrem" target="_blank" rel="noopener noreferrer">github</a></li>
</ul>
</nav>
</header>
<div class="content">
<div class="post">
<h1 class="post-title"><a href="https://blog.dich.ink/git/">Git使用简明手册</a></h1>
<div class="post-meta-inline">
<span class="post-date">
2024-03-15
</span>
</div>
<span class="post-tags-inline">
:: tags:&nbsp;
<a class="post-tag" href="https://blog.dich.ink/tags/git/">#Git</a></span>
<div class="post-content">
<p>前言 Git作为现代软件开发中不可或缺的版本控制工具常常让初学者感到困惑。本文旨在介绍 Git 的全流程安装和基本使用,希望能够帮助新手更轻松地理解和掌握 Git 的基本概念和操作。</p>
<span id="continue-reading"></span><h2 id="an-zhuang-git">安装git</h2>
<p>Windows<a href="https://git-scm.com/download/">https://git-scm.com/download/</a></p>
<p>Archlinux<code>sudo pacman -S git</code></p>
<p>安装完成后检查版本:<code>git --version</code></p>
<h2 id="chuang-jian-xin-cang-ku">创建新仓库</h2>
<p>如果你的目录不是一个 Git 仓库,你需要先初始化。</p>
<p>创建新文件夹,在你的项目目录中运行以下命令:<br />
<code>git init</code></p>
<p>设置默认仓库为main,避免因为main/master名称不同的牛马问题</p>
<p><code>git init --initial-branch=main</code></p>
<h2 id="ke-long-cang-ku">克隆仓库</h2>
<p>执行如下命令以创建一个本地仓库的克隆版本:<br />
<code>git clone /path/to/repository</code><br />
如果是远端服务器上的仓库,你的命令会是这个样子:<br />
<code>git clone username@host:/path/to/repository</code></p>
<h2 id="lian-jie-yuan-cheng-cang-ku">连接远程仓库</h2>
<p>生成密钥:</p>
<p><code>ssh-keygen -t rsa -b 4096 -C &quot;your_email@example.com&quot;</code></p>
<p>可以生成多个不同名字的密钥:</p>
<p><code>ssh-keygen -t rsa -b 4096 -C &quot;your_email@example.com&quot; -f ~/.ssh/github_key1</code></p>
<p><code>ssh-keygen -t rsa -b 4096 -C &quot;your_email@example.com&quot; -f ~/.ssh/github_key2</code></p>
<p>使用 <code>ssh-add</code> 命令将生成的密钥添加到 SSH 代理中。</p>
<p><code>ssh-add ~/.ssh/github_key1</code></p>
<p><code>ssh-add ~/.ssh/github_key2</code></p>
<p><code>~/.ssh/config</code> 文件中配置不同的主机别名以及相应的密钥文件。编辑该文件并添加以下内容:</p>
<p><code># GitHub repository 1</code></p>
<p><code>Host github1</code></p>
<pre style="background-color:#151515;color:#e8e8d3;"><code><span>HostName github.com
</span><span>
</span><span>User git
</span><span>
</span><span>IdentityFile ~/.ssh/github_key1
</span></code></pre>
<p><code># GitHub repository 2</code></p>
<p><code>Host github2</code></p>
<pre style="background-color:#151515;color:#e8e8d3;"><code><span>HostName github.com
</span><span>
</span><span>User git
</span><span>
</span><span>IdentityFile ~/.ssh/github_key2
</span></code></pre>
<p>连接到github</p>
<p><code>ssh -T git@github.com</code></p>
<p>添加远程仓库:</p>
<p><code>git remote add origin &lt;remote_repository_url&gt;</code></p>
<p>比如我已经在 GitHub 上创建了一个名为 <code>dichos</code> 的仓库,你可以使用以下命令将其添加为远程仓库:</p>
<p><code>git remote add origin git@github.com:Dichgrem/dichos.git</code></p>
<p>设置远程仓库</p>
<p><code>git remote set-url origin git@github.com:Dichgrem/dichos.git</code></p>
<h2 id="gong-zuo-liu">工作流</h2>
<p>本地仓库由 git 维护的三棵“树”组成。第一个是你的 <code>工作目录</code>,它持有实际文件;第二个是 <code>暂存区Index</code>,它像个缓存区域,临时保存你的改动;最后是 <code>HEAD</code>,它指向你最后一次提交的结果。</p>
<h2 id="chuang-jian-yi-ge-fen-zhi">创建一个分支</h2>
<p><code>git branch main</code></p>
<p>这将创建一个名为 main 的分支。</p>
<h2 id="shan-chu-fen-zhi">删除分支</h2>
<p><code>git branch -d master</code></p>
<p>使用大写强制删除</p>
<p><code>git branch -D master</code></p>
<h2 id="tian-jia-he-ti-jiao">添加和提交</h2>
<p>你可以提出更改(把它们添加到暂存区),使用如下命令:<br />
<code>git add &lt;filename&gt;</code><br />
<code>git add *</code><br />
这是 git 基本工作流程的第一步;使用如下命令以实际提交改动:<br />
<code>git commit -m &quot;代码提交信息&quot;</code>如:</p>
<p><code>git commit -m &quot;Initial commit&quot;</code><br />
现在,你的改动已经提交到了 <strong>HEAD</strong>,但是还没到你的远端仓库。</p>
<h2 id="tui-song-gai-dong">推送改动</h2>
<p>你的改动现在已经在本地仓库的 <strong>HEAD</strong> 中了。执行如下命令以将这些改动提交到远端仓库:<br />
<code>git push origin master</code><br />
可以把 <em>master</em> 换成你想要推送的任何分支。</p>
<p>如果你还没有克隆现有仓库,并欲将你的仓库连接到某个远程服务器,你可以使用如下命令添加:<br />
<code>git remote add origin &lt;server&gt;</code><br />
如此你就能够将你的改动推送到所添加的服务器上去了。</p>
<h2 id="he-bing-fen-zhi">合并分支</h2>
<p>分支是用来将特性开发绝缘开来的。在你创建仓库的时候,<em>master</em> 是“默认的”分支。在其他分支上进行开发,完成后再将它们合并到主分支上。</p>
<p>创建一个叫做“feature_x”的分支并切换过去<br />
<code>git checkout -b feature_x</code><br />
切换回主分支:<br />
<code>git checkout master</code><br />
再把新建的分支删掉:<br />
<code>git branch -d feature_x</code><br />
除非你将分支推送到远端仓库,不然该分支就是 <em>不为他人所见的</em><br />
<code>git push origin &lt;branch&gt;</code></p>
<h2 id="geng-xin-yu-he-bing">更新与合并</h2>
<p>要更新你的本地仓库至最新改动,执行:<br />
<code>git pull</code><br />
以在你的工作目录中 <em><strong>获取</strong>fetch</em><em><strong>合并</strong>merge</em> 远端的改动。<br />
要合并其他分支到你的当前分支(例如 master执行<br />
<code>git merge &lt;branch&gt;</code><br />
在这两种情况下git 都会尝试去自动合并改动。遗憾的是这可能并非每次都成功并可能出现_冲突conflicts<em>。 这时候就需要你修改这些文件来手动合并这些_冲突conflicts</em>。改完之后,你需要执行如下命令以将它们标记为合并成功:<br />
<code>git add &lt;filename&gt;</code><br />
在合并改动之前,你可以使用如下命令预览差异:<br />
<code>git diff &lt;source_branch&gt; &lt;target_branch&gt;</code></p>
<h2 id="biao-qian">标签</h2>
<p>为软件发布创建标签是推荐的。这个概念早已存在,在 SVN 中也有。你可以执行如下命令创建一个叫做 <em>1.0.0</em> 的标签:<br />
<code>git tag 1.0.0 1b2e1d63ff</code><br />
<em>1b2e1d63ff</em> 是你想要标记的提交 ID 的前 10 位字符。可以使用下列命令获取提交 ID<br />
<code>git log</code><br />
你也可以使用少一点的提交 ID 前几位,只要它的指向具有唯一性。</p>
<h2 id="ri-zhi">日志</h2>
<p>如果你想了解本地仓库的历史记录,最简单的命令就是使用:<br />
<code>git log</code><br />
你可以添加一些参数来修改他的输出,从而得到自己想要的结果。 只看某一个人的提交记录:<br />
<code>git log --author=bob</code><br />
一个压缩后的每一条提交记录只占一行的输出:<br />
<code>git log --pretty=oneline</code><br />
或者你想通过 ASCII 艺术的树形结构来展示所有的分支, 每个分支都标示了他的名字和标签:<br />
<code>git log --graph --oneline --decorate --all</code><br />
看看哪些文件改变了:<br />
<code>git log --name-status</code><br />
这些只是你可以使用的参数中很小的一部分。更多的信息,参考:<br />
<code>git log --help</code></p>
<h2 id="ti-huan-ben-di-gai-dong">替换本地改动</h2>
<p>假如你操作失误(当然,这最好永远不要发生),你可以使用如下命令替换掉本地改动:<br />
<code>git checkout -- &lt;filename&gt;</code><br />
此命令会使用 HEAD 中的最新内容替换掉你的工作目录中的文件。已添加到暂存区的改动以及新文件都不会受到影响。</p>
<p>假如你想丢弃你在本地的所有改动与提交,可以到服务器上获取最新的版本历史,并将你本地主分支指向它:<br />
<code>git fetch origin</code><br />
<code>git reset --hard origin/master</code></p>
<h2 id="xiu-gai-mo-ren-fen-zhi">修改默认分支</h2>
<p>git目前默认的主分支为master和github默认分支main不同这使得默认配置下git往往连接失败。可以通过下两种方法改变默认分支。在本地git init时将默认分支修改成main</p>
<pre data-lang="csharp" style="background-color:#151515;color:#e8e8d3;" class="language-csharp "><code class="language-csharp" data-lang="csharp"><span>1. git --version //查看版本
</span><span>2. git config --global init.defaultBranch main //将默认分支修改成main
</span><span>3. git init //本地项目文件夹内创建.git文件夹
</span><span>4. git add . //添加到暂存区
</span><span>5. git commit -a [描述的内容] //记录修改行为
</span><span>6. git pull --rebase origin main //拉github上的readme.md
</span><span>7. git push origin main //上传代码
</span></code></pre>
<p>也可以不修改git上的默认分支而是修改github上库的默认分支。</p>
<h2 id="windowsxia-gitshi-yong-dai-li">Windows下git使用代理</h2>
<p>由于网络环境的差异Git连接github需要代理或者全局模式。Git支持四种协议而除本地传输外还有git://, ssh://, 基于HTTP协议这些协议又被分为哑协议HTTP协议和智能传输协议。对于这些协议要使用代理的设置也有些差异</p>
<ul>
<li>
<p>使用 <code>git协议</code> 时,设置代理需要配置 <code>core.gitproxy</code></p>
</li>
<li>
<p>使用 <code>HTTP协议</code> 时,设置代理需要配置 <code>http.proxy</code></p>
</li>
<li>
<p>而使用 <code>ssh协议</code>代理需要配置ssh的 <code>ProxyCommand</code> 参数</p>
</li>
</ul>
<p>由于个人需求仅仅是HTTP的代理相对来说HTTP有比较好的通适性Windows配置git/ssh比较棘手设置的时候只需要针对单个设置 <code>http.proxy</code> 即可,在需要使用代理的项目下面使用 <code>git bash</code> 如下命令进行设置你的Uri和port可能和我的不同</p>
<p><code>git config http.proxy</code> <a href="http://127.0.0.1:8088">http://127.0.0.1:2080</a> <code># 也可以是uri:port形式</code></p>
<p>这个是不需要鉴权的代理设置,如果需要鉴权,可能需要添加用户名密码信息:</p>
<p><code>git config http.proxy</code> <a href="http://username:password@127.0.0.1:8088">http://username:password@127.0.0.1:2080</a></p>
<p>如果git的所有项目都需要启用代理那么可以直接启用全局设置</p>
<p><code>git config --global http.proxy</code> <a href="http://127.0.0.1:8088">http://127.0.0.1:2080</a></p>
<p>为了确认是否已经设置成功,可以使用 <code>--get</code> 来获取:</p>
<p><code>git config --get --global http.proxy</code></p>
<p>这样可以看到你设置在global的 <code>http.proxy</code> 值。 </p>
<p>需要修改的时候再次按照上面的方法设置即可git默认会覆盖原有的配置值。</p>
<p>当我们的网络出现变更时,可能需要删除掉原有的代理配置,此时需要使用 <code>--unset</code> 来进行配置:</p>
<p><code>git config --global --unset http.proxy</code></p>
<p>在命令之后,指定位置的设置值将会被清空,你可以再次使用 <code>--get</code> 来查看具体的设置情况。</p>
<p>如果使用了HTTPS肯呢个会碰到HTTPS 证书错误的情况,比如提示: <code>SSL certificate problem</code> ,此时,可以尝试将 <code>sslVerify</code> 设置为 <code>false</code> </p>
<p><code>git config --global http.sslVerify false</code></p>
<p>到此可以试试git来获取/更改项目了,此时,项目应该是使用代理来进行通讯的。</p>
<h2 id="zhu-yi">注意</h2>
<ul>
<li>不要多次使用不同的参数来设置代理,一般使用文中两种方式酌情选用即可, <code>--global</code> <code>--system</code> <code>--local</code> 各级设置后可能会给自己带来不必要的麻烦。git默认是先到git Repository的配置文件中查找配置文件如果没有才会到 <code>--global</code> 设置的文件中查找,因此,单个项目文件中的设置会覆盖 <code>--global</code> 的设置。</li>
<li>使用 <code>--global</code> 来配置的信息保存在当前用户的根目录下的 <code>.config</code> 文件中,而仓库中的配置保存在项目仓库的根目录下的 <code>.git/config</code> 文件中。</li>
<li>如果是Linux的用户建议全局代理。</li>
</ul>
</div>
<div class="pagination">
<div class="pagination__title">
<span class="pagination__title-h">Thanks for reading! Read other posts?</span>
<hr />
</div>
<div class="pagination__buttons">
<span class="button previous">
<a href="https://blog.dich.ink/talk-bios-uefi-mbr-gpt-grub/">
<span class="button__icon"></span>&nbsp;
<span class="button__text">BIOS-UEFI-MBR-GPT-GRUB</span>
</a>
</span>
</div>
</div>
</div>
</div>
<footer class="footer">
<div class="footer__inner">
<div class="copyright">
<span>©
2024
Dichgrem</span>
<span class="copyright-theme">
<span class="copyright-theme-sep">:: </span>
Theme: <a href="https://github.com/pawroman/zola-theme-terminimal/">Terminimal</a> by pawroman
</span>
</div>
</div>
</footer>
</div>
</body>
</html>

View File

@ -76,6 +76,40 @@
<div class="posts">
<div class="post on-list">
<h1 class="post-title"><a href="https://blog.dich.ink/git/">Git使用简明手册</a></h1>
<div class="post-meta-inline">
<span class="post-date">
2024-03-15
</span>
</div>
<span class="post-tags-inline">
:: tags:&nbsp;
<a class="post-tag" href="https://blog.dich.ink/tags/git/">#Git</a></span>
<div class="post-content">
<p>前言 Git作为现代软件开发中不可或缺的版本控制工具常常让初学者感到困惑。本文旨在介绍 Git 的全流程安装和基本使用,希望能够帮助新手更轻松地理解和掌握 Git 的基本概念和操作。</p>
</div>
<div>
<!-- &#xFE0E; -- force text style - some devices render this as emoji -->
<a class="read-more button" href="https://blog.dich.ink/git/">
<span class="button__text">Read more</span>&nbsp;
<span class="button__icon">&#8617;&#xFE0E;</span>
</a>
</div>
</div>
<div class="post on-list">
<h1 class="post-title"><a href="https://blog.dich.ink/talk-bios-uefi-mbr-gpt-grub/">BIOS-UEFI-MBR-GPT-GRUB</a></h1>
<div class="post-meta-inline">
@ -144,41 +178,6 @@
</div>
</div>
<div class="post on-list">
<h1 class="post-title"><a href="https://blog.dich.ink/zola-blog/">Personal Blog</a></h1>
<div class="post-meta-inline">
<span class="post-date">
2024-03-12
</span>
</div>
<span class="post-tags-inline">
:: tags:&nbsp;
<a class="post-tag" href="https://blog.dich.ink/tags/blog/">#Blog</a>&nbsp;
<a class="post-tag" href="https://blog.dich.ink/tags/zola/">#Zola</a></span>
<div class="post-content">
<p>前言 个人博客的搭建有诸多框架的选择。本文以Zola框架为例介绍如何部署该静态站点并将其托管到Paas平台上。</p>
</div>
<div>
<!-- &#xFE0E; -- force text style - some devices render this as emoji -->
<a class="read-more button" href="https://blog.dich.ink/zola-blog/">
<span class="button__text">Read more</span>&nbsp;
<span class="button__icon">&#8617;&#xFE0E;</span>
</a>
</div>
</div>
<div class="pagination">
<div class="pagination__buttons">

View File

@ -76,6 +76,41 @@
<div class="posts">
<div class="post on-list">
<h1 class="post-title"><a href="https://blog.dich.ink/zola-blog/">Personal Blog</a></h1>
<div class="post-meta-inline">
<span class="post-date">
2024-03-12
</span>
</div>
<span class="post-tags-inline">
:: tags:&nbsp;
<a class="post-tag" href="https://blog.dich.ink/tags/blog/">#Blog</a>&nbsp;
<a class="post-tag" href="https://blog.dich.ink/tags/zola/">#Zola</a></span>
<div class="post-content">
<p>前言 个人博客的搭建有诸多框架的选择。本文以Zola框架为例介绍如何部署该静态站点并将其托管到Paas平台上。</p>
</div>
<div>
<!-- &#xFE0E; -- force text style - some devices render this as emoji -->
<a class="read-more button" href="https://blog.dich.ink/zola-blog/">
<span class="button__text">Read more</span>&nbsp;
<span class="button__icon">&#8617;&#xFE0E;</span>
</a>
</div>
</div>
<div class="post on-list">
<h1 class="post-title"><a href="https://blog.dich.ink/opensourcesoftware-licenses/">开源软件与协议</a></h1>
<div class="post-meta-inline">
@ -143,40 +178,6 @@
</div>
</div>
<div class="post on-list">
<h1 class="post-title"><a href="https://blog.dich.ink/podcast-use/">播客收听指北</a></h1>
<div class="post-meta-inline">
<span class="post-date">
2024-01-20
</span>
</div>
<span class="post-tags-inline">
:: tags:&nbsp;
<a class="post-tag" href="https://blog.dich.ink/tags/podcast/">#Podcast</a></span>
<div class="post-content">
<p>前言 讲起播客,许多人第一反应是喜马拉雅,但其实播客的订阅和收听有许多种方式。本文带你了解订阅播客的各种方式,并告诉你市面上有哪些不错的播客客户端可供选择。</p>
</div>
<div>
<!-- &#xFE0E; -- force text style - some devices render this as emoji -->
<a class="read-more button" href="https://blog.dich.ink/podcast-use/">
<span class="button__text">Read more</span>&nbsp;
<span class="button__icon">&#8617;&#xFE0E;</span>
</a>
</div>
</div>
<div class="pagination">
<div class="pagination__buttons">

View File

@ -76,6 +76,40 @@
<div class="posts">
<div class="post on-list">
<h1 class="post-title"><a href="https://blog.dich.ink/podcast-use/">播客收听指北</a></h1>
<div class="post-meta-inline">
<span class="post-date">
2024-01-20
</span>
</div>
<span class="post-tags-inline">
:: tags:&nbsp;
<a class="post-tag" href="https://blog.dich.ink/tags/podcast/">#Podcast</a></span>
<div class="post-content">
<p>前言 讲起播客,许多人第一反应是喜马拉雅,但其实播客的订阅和收听有许多种方式。本文带你了解订阅播客的各种方式,并告诉你市面上有哪些不错的播客客户端可供选择。</p>
</div>
<div>
<!-- &#xFE0E; -- force text style - some devices render this as emoji -->
<a class="read-more button" href="https://blog.dich.ink/podcast-use/">
<span class="button__text">Read more</span>&nbsp;
<span class="button__icon">&#8617;&#xFE0E;</span>
</a>
</div>
</div>
<div class="post on-list">
<h1 class="post-title"><a href="https://blog.dich.ink/rss-read/">RSS阅读指南</a></h1>
<div class="post-meta-inline">
@ -140,40 +174,6 @@
</div>
</div>
<div class="post on-list">
<h1 class="post-title"><a href="https://blog.dich.ink/searching/">搜索引擎与爬虫</a></h1>
<div class="post-meta-inline">
<span class="post-date">
2024-01-07
</span>
</div>
<span class="post-tags-inline">
:: tags:&nbsp;
<a class="post-tag" href="https://blog.dich.ink/tags/searching/">#Searching</a></span>
<div class="post-content">
<p>前言 搜索引擎原理可以简单分为三个过程:爬行,索引,排名。</p>
</div>
<div>
<!-- &#xFE0E; -- force text style - some devices render this as emoji -->
<a class="read-more button" href="https://blog.dich.ink/searching/">
<span class="button__text">Read more</span>&nbsp;
<span class="button__icon">&#8617;&#xFE0E;</span>
</a>
</div>
</div>
<div class="pagination">
<div class="pagination__buttons">

View File

@ -76,6 +76,40 @@
<div class="posts">
<div class="post on-list">
<h1 class="post-title"><a href="https://blog.dich.ink/searching/">搜索引擎与爬虫</a></h1>
<div class="post-meta-inline">
<span class="post-date">
2024-01-07
</span>
</div>
<span class="post-tags-inline">
:: tags:&nbsp;
<a class="post-tag" href="https://blog.dich.ink/tags/searching/">#Searching</a></span>
<div class="post-content">
<p>前言 搜索引擎原理可以简单分为三个过程:爬行,索引,排名。</p>
</div>
<div>
<!-- &#xFE0E; -- force text style - some devices render this as emoji -->
<a class="read-more button" href="https://blog.dich.ink/searching/">
<span class="button__text">Read more</span>&nbsp;
<span class="button__icon">&#8617;&#xFE0E;</span>
</a>
</div>
</div>
<div class="post on-list">
<h1 class="post-title"><a href="https://blog.dich.ink/advertising-algorithms/">广告推荐算法与实例</a></h1>
<div class="post-meta-inline">
@ -141,41 +175,6 @@
</div>
</div>
<div class="post on-list">
<h1 class="post-title"><a href="https://blog.dich.ink/android-root/">安卓刷机与root教程</a></h1>
<div class="post-meta-inline">
<span class="post-date">
2023-09-07
</span>
</div>
<span class="post-tags-inline">
:: tags:&nbsp;
<a class="post-tag" href="https://blog.dich.ink/tags/android/">#android</a>&nbsp;
<a class="post-tag" href="https://blog.dich.ink/tags/root/">#root</a></span>
<div class="post-content">
<p>前言 自安卓系统诞生以来root 一直是玩机的必备过程。时至今日在安卓定制系统日益完善的情况下能root 的机型越来越少本文以小米手机为例介绍root 的具体方法。</p>
</div>
<div>
<!-- &#xFE0E; -- force text style - some devices render this as emoji -->
<a class="read-more button" href="https://blog.dich.ink/android-root/">
<span class="button__text">Read more</span>&nbsp;
<span class="button__icon">&#8617;&#xFE0E;</span>
</a>
</div>
</div>
<div class="pagination">
<div class="pagination__buttons">

View File

@ -76,6 +76,41 @@
<div class="posts">
<div class="post on-list">
<h1 class="post-title"><a href="https://blog.dich.ink/android-root/">安卓刷机与root教程</a></h1>
<div class="post-meta-inline">
<span class="post-date">
2023-09-07
</span>
</div>
<span class="post-tags-inline">
:: tags:&nbsp;
<a class="post-tag" href="https://blog.dich.ink/tags/android/">#android</a>&nbsp;
<a class="post-tag" href="https://blog.dich.ink/tags/root/">#root</a></span>
<div class="post-content">
<p>前言 自安卓系统诞生以来root 一直是玩机的必备过程。时至今日在安卓定制系统日益完善的情况下能root 的机型越来越少本文以小米手机为例介绍root 的具体方法。</p>
</div>
<div>
<!-- &#xFE0E; -- force text style - some devices render this as emoji -->
<a class="read-more button" href="https://blog.dich.ink/android-root/">
<span class="button__text">Read more</span>&nbsp;
<span class="button__icon">&#8617;&#xFE0E;</span>
</a>
</div>
</div>
<div class="post on-list">
<h1 class="post-title"><a href="https://blog.dich.ink/mechrev-keyboard/">机械革命键盘失灵拯救记</a></h1>
<div class="post-meta-inline">
@ -140,40 +175,6 @@
</div>
</div>
<div class="post on-list">
<h1 class="post-title"><a href="https://blog.dich.ink/calling-cards/">流量卡购买与套路</a></h1>
<div class="post-meta-inline">
<span class="post-date">
2023-08-24
</span>
</div>
<span class="post-tags-inline">
:: tags:&nbsp;
<a class="post-tag" href="https://blog.dich.ink/tags/calling-cards/">#Calling-cards</a></span>
<div class="post-content">
<p>前言 由于临近升学,校园网不尽人意,因此许多小伙伴有了买一张流量卡的计划。本文以三大运营商为例,说明常见流量卡的套路与选择。</p>
</div>
<div>
<!-- &#xFE0E; -- force text style - some devices render this as emoji -->
<a class="read-more button" href="https://blog.dich.ink/calling-cards/">
<span class="button__text">Read more</span>&nbsp;
<span class="button__icon">&#8617;&#xFE0E;</span>
</a>
</div>
</div>
<div class="pagination">
<div class="pagination__buttons">

View File

@ -76,6 +76,40 @@
<div class="posts">
<div class="post on-list">
<h1 class="post-title"><a href="https://blog.dich.ink/calling-cards/">流量卡购买与套路</a></h1>
<div class="post-meta-inline">
<span class="post-date">
2023-08-24
</span>
</div>
<span class="post-tags-inline">
:: tags:&nbsp;
<a class="post-tag" href="https://blog.dich.ink/tags/calling-cards/">#Calling-cards</a></span>
<div class="post-content">
<p>前言 由于临近升学,校园网不尽人意,因此许多小伙伴有了买一张流量卡的计划。本文以三大运营商为例,说明常见流量卡的套路与选择。</p>
</div>
<div>
<!-- &#xFE0E; -- force text style - some devices render this as emoji -->
<a class="read-more button" href="https://blog.dich.ink/calling-cards/">
<span class="button__text">Read more</span>&nbsp;
<span class="button__icon">&#8617;&#xFE0E;</span>
</a>
</div>
</div>
<div class="post on-list">
<h1 class="post-title"><a href="https://blog.dich.ink/kgnl/">快过年了笑话大全</a></h1>
<div class="post-meta-inline">
@ -140,41 +174,6 @@
</div>
</div>
<div class="post on-list">
<h1 class="post-title"><a href="https://blog.dich.ink/pve-mcsm/">PVE安装与MC服务器搭建</a></h1>
<div class="post-meta-inline">
<span class="post-date">
2023-08-11
</span>
</div>
<span class="post-tags-inline">
:: tags:&nbsp;
<a class="post-tag" href="https://blog.dich.ink/tags/debain/">#Debain</a>&nbsp;
<a class="post-tag" href="https://blog.dich.ink/tags/pve/">#PVE</a></span>
<div class="post-content">
<p>前言 假期将至不少家里有闲置设备的小伙伴想尝试开设一个我的世界Minecraft服务器却不知从何下手。本文以PVE-Debian-MCSM为主线介绍其部署流程。</p>
</div>
<div>
<!-- &#xFE0E; -- force text style - some devices render this as emoji -->
<a class="read-more button" href="https://blog.dich.ink/pve-mcsm/">
<span class="button__text">Read more</span>&nbsp;
<span class="button__icon">&#8617;&#xFE0E;</span>
</a>
</div>
</div>
<div class="pagination">
<div class="pagination__buttons">

View File

@ -76,6 +76,41 @@
<div class="posts">
<div class="post on-list">
<h1 class="post-title"><a href="https://blog.dich.ink/pve-mcsm/">PVE安装与MC服务器搭建</a></h1>
<div class="post-meta-inline">
<span class="post-date">
2023-08-11
</span>
</div>
<span class="post-tags-inline">
:: tags:&nbsp;
<a class="post-tag" href="https://blog.dich.ink/tags/debain/">#Debain</a>&nbsp;
<a class="post-tag" href="https://blog.dich.ink/tags/pve/">#PVE</a></span>
<div class="post-content">
<p>前言 假期将至不少家里有闲置设备的小伙伴想尝试开设一个我的世界Minecraft服务器却不知从何下手。本文以PVE-Debian-MCSM为主线介绍其部署流程。</p>
</div>
<div>
<!-- &#xFE0E; -- force text style - some devices render this as emoji -->
<a class="read-more button" href="https://blog.dich.ink/pve-mcsm/">
<span class="button__text">Read more</span>&nbsp;
<span class="button__icon">&#8617;&#xFE0E;</span>
</a>
</div>
</div>
<div class="post on-list">
<h1 class="post-title"><a href="https://blog.dich.ink/android-tv/">Android TV 折腾小记</a></h1>
<div class="post-meta-inline">

View File

@ -41,6 +41,10 @@
<loc>https://blog.dich.ink/chromebook/</loc>
<lastmod>2023-08-12</lastmod>
</url>
<url>
<loc>https://blog.dich.ink/git/</loc>
<lastmod>2024-03-15</lastmod>
</url>
<url>
<loc>https://blog.dich.ink/kgnl/</loc>
<lastmod>2023-08-23</lastmod>
@ -131,6 +135,9 @@
<url>
<loc>https://blog.dich.ink/tags/debain/</loc>
</url>
<url>
<loc>https://blog.dich.ink/tags/git/</loc>
</url>
<url>
<loc>https://blog.dich.ink/tags/grub/</loc>
</url>

125
public/tags/git/index.html Normal file
View File

@ -0,0 +1,125 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>
Dich&#x27;blog</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=5">
<meta name="robots" content="noodp"/>
<link rel="stylesheet" href="https://blog.dich.ink/style.css">
<link rel="stylesheet" href="https://blog.dich.ink/color/blue.css">
<link rel="stylesheet" href="https://blog.dich.ink/color/background_dark.css">
<link rel="stylesheet" href="https://blog.dich.ink/font-hack-subset.css">
<meta name="description" content="All posts tagged Git">
<meta property="og:description" content="All posts tagged Git">
<meta property="og:title" content="Dich'blog">
<meta property="og:type" content="website">
<meta property="og:url" content="https://blog.dich.ink/tags/git/">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:description" content="All posts tagged Git">
<meta name="twitter:title" content="Dich'blog">
<meta property="twitter:domain" content="blog.dich.ink">
<meta property="twitter:url" content="https://blog.dich.ink/tags/git/">
<link rel="alternate" type="application/atom+xml" title="RSS" href="https://blog.dich.ink/atom.xml">
</head>
<body class="">
<div class="container">
<header class="header">
<div class="header__inner">
<div class="header__logo">
<a href="https://blog.dich.ink" style="text-decoration: none;">
<div class="logo">
Dich&#x27;blog
</div>
</a>
</div>
</div>
<nav class="menu">
<ul class="menu__inner">
<li><a href="https://blog.dich.ink">blog</a></li>
<li class="active"><a href="https://blog.dich.ink/tags">tags</a></li>
<li><a href="https://blog.dich.ink/archive">archive</a></li>
<li><a href="https://blog.dich.ink/about">about me</a></li>
<li><a href="https://github.com/Dichgrem" target="_blank" rel="noopener noreferrer">github</a></li>
</ul>
</nav>
</header>
<div class="content">
<div class="post">
<h1 class="post-title">
tag: #Git
(1 post)
</h1>
<a href="https://blog.dich.ink/tags">
Show all tags
</a>
<ul><li class="post-list">
<a href="https://blog.dich.ink/git/">
<span class="post-date">2024-03-15</span>
:: <span class="post-list-title">Git使用简明手册</span></a>
<span class="post-tags-inline">
::
<a class="post-tag" href="https://blog.dich.ink/tags/git/">#Git</a></span>
</li>
</ul>
</div>
</div>
<footer class="footer">
<div class="footer__inner">
<div class="copyright">
<span>©
2024
Dichgrem</span>
<span class="copyright-theme">
<span class="copyright-theme-sep">:: </span>
Theme: <a href="https://github.com/pawroman/zola-theme-terminimal/">Terminimal</a> by pawroman
</span>
</div>
</div>
</footer>
</div>
</body>
</html>

View File

@ -140,6 +140,12 @@
</a>
</li>
<li class="tag-list">
<a href="https://blog.dich.ink/tags/git/">
Git (1 post)
</a>
</li>
<li class="tag-list">
<a href="https://blog.dich.ink/tags/grub/">
GRUB (1 post)

View File

@ -184,6 +184,13 @@
</a>
</span>
<span class="button next">
<a href="https://blog.dich.ink/git/">
<span class="button__text">Git使用简明手册</span>&nbsp;
<span class="button__icon"></span>
</a>
</span>
</div>
</div>