<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Git on LeoChu Space</title>
    <link>https://leochu.work/blog/tags/git/</link>
    <description>Recent content in Git on LeoChu Space</description>
    <generator>Hugo</generator>
    <language>zh-cn</language>
    <lastBuildDate>Sat, 17 Feb 2024 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://leochu.work/blog/tags/git/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Git配置SSH密钥</title>
      <link>https://leochu.work/blog/tech/engineering/git%E9%85%8D%E7%BD%AEssh%E5%AF%86%E9%92%A5/</link>
      <pubDate>Sat, 17 Feb 2024 00:00:00 +0000</pubDate>
      <guid>https://leochu.work/blog/tech/engineering/git%E9%85%8D%E7%BD%AEssh%E5%AF%86%E9%92%A5/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;本文由 &lt;a href=&#34;http://ksria.com/simpread/&#34;&gt;简悦 SimpRead&lt;/a&gt; 转码， 原文地址 &lt;a href=&#34;https://blog.csdn.net/weixin_41990913/article/details/91373362&#34;&gt;blog.csdn.net&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;初次安装 gitgit 需要配置用户名和邮箱，否则 git 会提示：please tell me who you are.&lt;/p&gt;
&lt;p&gt;你需要运行命令来配置你的用户名和邮箱：&lt;br&gt;
$ git config &amp;ndash;&lt;a href=&#34;https://so.csdn.net/so/search?q=global&amp;amp;spm=1001.2101.3001.7020&#34;&gt;global&lt;/a&gt; &lt;a href=&#34;http://user.name&#34;&gt;user.name&lt;/a&gt; “liuhanxia”&lt;br&gt;
$ git config &amp;ndash;global user.email &lt;a href=&#34;mailto:%22liuhanxia@51faguanggao.com&#34;&gt;&amp;ldquo;liuhanxia@51faguanggao.com&lt;/a&gt;&amp;rdquo;&lt;br&gt;
注意：（引号内请输入你自己设置的名字，和你自己的邮箱）此用户名和邮箱是 git 提交代码时用来显示你身份和联系方式的，并不是 &lt;a href=&#34;https://so.csdn.net/so/search?q=github&amp;amp;spm=1001.2101.3001.7020&#34;&gt;github&lt;/a&gt; 用户名和邮箱&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://leochu.work/blog/resource/git_ssh_01.png&#34;&gt;&lt;br&gt;
git 使用 ssh 密钥&lt;br&gt;
git 支持 https 和 git 两种传输协议，github 分享链接时会有两种协议可选：git 协议链接图例、https 协议链接图例&lt;/p&gt;
&lt;p&gt;git 使用 https 协议，每次 pull, push 都会提示要输入密码，&lt;br&gt;
使用 git 协议，然后使用 ssh 密钥，这样免去每次都输密码的麻烦&lt;/p&gt;
&lt;p&gt;初次使用 git 的用户要使用 git 协议大概需要三个步骤：&lt;br&gt;
一、生成密钥对&lt;br&gt;
二、设置远程仓库（本文以 github 为例）上的公钥&lt;br&gt;
三、把 git 的 remote url 修改为 git 协议（以上两个步骤初次设置过以后，以后使用都不需要再次设置，此步骤视以后项目的 remote url 而定，如果以后其他项目的协议为 https 则需要此步骤）&lt;/p&gt;</description>
    </item>
    <item>
      <title>Git命令行</title>
      <link>https://leochu.work/blog/tech/engineering/git%E5%91%BD%E4%BB%A4%E8%A1%8C/</link>
      <pubDate>Sat, 03 Feb 2024 00:00:00 +0000</pubDate>
      <guid>https://leochu.work/blog/tech/engineering/git%E5%91%BD%E4%BB%A4%E8%A1%8C/</guid>
      <description>&lt;p&gt;&lt;img alt=&#34;img&#34; loading=&#34;lazy&#34; src=&#34;https://leochu.work/blog/resource/git-command.jpg&#34;&gt;&lt;/p&gt;
&lt;h5 id=&#34;本地仓库链接远程仓库&#34;&gt;本地仓库链接远程仓库&lt;/h5&gt;
&lt;p&gt;&lt;code&gt;git remote add origin &amp;lt;server&amp;gt;git@github.com:yourName/yourRepo.git&lt;/code&gt;&lt;/p&gt;
&lt;h5 id=&#34;创建一个叫做feature_x的分支并切换过去&#34;&gt;创建一个叫做“feature_x”的分支，并切换过去&lt;/h5&gt;
&lt;p&gt;&lt;code&gt;git checkout -b feature_x&lt;/code&gt;&lt;/p&gt;
&lt;h5 id=&#34;再把新建的分支删掉&#34;&gt;再把新建的分支删掉：&lt;/h5&gt;
&lt;p&gt;&lt;code&gt;git branch -d feature_x&lt;/code&gt;&lt;/p&gt;
&lt;h5 id=&#34;预览差异&#34;&gt;预览差异：&lt;/h5&gt;
&lt;p&gt;&lt;code&gt;git diff &amp;lt;source_branch&amp;gt; &amp;lt;target_branch&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;h5 id=&#34;创建一个叫做-100-的标签&#34;&gt;创建一个叫做 &lt;em&gt;1.0.0&lt;/em&gt; 的标签：&lt;/h5&gt;
&lt;p&gt;&lt;code&gt;git tag 1.0.0 1b2e1d63ff&lt;/code&gt;&lt;/p&gt;
&lt;h5 id=&#34;想commit自动来提交本地修改我们可以使用-a标识&#34;&gt;想commit自动来提交本地修改，我们可以使用-a标识&lt;/h5&gt;
&lt;p&gt;&lt;code&gt;git commit -a -m &amp;quot;Changed some files&amp;quot;&lt;/code&gt;
&lt;em&gt;git commit 命令的-a选项可将所有&lt;strong&gt;被修改或者已删除的且已经被git管理的文档&lt;/strong&gt;提交到仓库中&lt;/em&gt;
&lt;em&gt;千万注意，-a不会造成新文件被提交，只能修改。&lt;/em&gt;&lt;/p&gt;
&lt;h5 id=&#34;内建的图形化-git&#34;&gt;内建的图形化 git：&lt;/h5&gt;
&lt;p&gt;&lt;code&gt;gitk&lt;/code&gt;&lt;/p&gt;
&lt;h5 id=&#34;彩色的-git-输出&#34;&gt;彩色的 git 输出：&lt;/h5&gt;
&lt;p&gt;&lt;code&gt;git config color.ui true&lt;/code&gt;&lt;/p&gt;
&lt;h5 id=&#34;使用git-gui创建sshkey及查看&#34;&gt;使用git gui创建sshkey及查看：&lt;/h5&gt;
&lt;p&gt;&lt;img alt=&#34;image-20230213164607434&#34; loading=&#34;lazy&#34; src=&#34;https://leochu.work/blog/resource/image-20230213164607434.png&#34;&gt;&lt;/p&gt;
&lt;h5 id=&#34;命令行创建ssh-key&#34;&gt;命令行创建ssh key：&lt;/h5&gt;
&lt;p&gt;&lt;code&gt;ssh-keygen -t rsa -C &amp;quot;your_email@youremail.com&amp;quot;&lt;/code&gt;
&lt;em&gt;后面的&lt;code&gt;your_email@youremail.com&lt;/code&gt;改为你在github上注册的邮箱，之后会要求确认路径和输入密码，我们这使用默认的一路回车就行。成功的话会在&lt;code&gt;~/&lt;/code&gt;下生成&lt;code&gt;.ssh&lt;/code&gt;文件夹，进去，打开&lt;code&gt;id_rsa.pub&lt;/code&gt;，复制里面的&lt;code&gt;key&lt;/code&gt;。&lt;/em&gt;&lt;/p&gt;
&lt;h5 id=&#34;验证是否成功在git-bash下输入&#34;&gt;验证是否成功，在git bash下输入：&lt;/h5&gt;
&lt;p&gt;&lt;code&gt;ssh -T git@github.com&lt;/code&gt;&lt;/p&gt;
&lt;h5 id=&#34;如果要查看指定文件的修改记录可以使用-git-blame-命令格式如下&#34;&gt;如果要查看指定文件的修改记录可以使用 git blame 命令，格式如下：&lt;/h5&gt;
&lt;p&gt;&lt;code&gt;git blame &amp;lt;file&amp;gt;&lt;/code&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Git服务器搭建</title>
      <link>https://leochu.work/blog/tech/engineering/git%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%90%AD%E5%BB%BA/</link>
      <pubDate>Sat, 20 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://leochu.work/blog/tech/engineering/git%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%90%AD%E5%BB%BA/</guid>
      <description>&lt;p&gt;上一章节中我们远程仓库使用了 Github，Github 公开的项目是免费的，2019 年开始 Github 私有存储库也可以无限制使用。&lt;/p&gt;
&lt;p&gt;这当然我们也可以自己搭建一台 Git 服务器作为私有仓库使用。&lt;/p&gt;
&lt;p&gt;接下来我们将以 Centos 为例搭建 Git 服务器。&lt;/p&gt;
&lt;h3 id=&#34;1安装git&#34;&gt;1、安装Git&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel
$ yum install git
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;接下来我们 创建一个git用户组和用户，用来运行git服务：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ groupadd git
$ useradd git -g git
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;2创建证书登录&#34;&gt;2、创建证书登录&lt;/h3&gt;
&lt;p&gt;收集所有需要登录的用户的公钥，公钥位于id_rsa.pub文件中，把我们的公钥导入到/home/git/.ssh/authorized_keys文件里，一行一个。&lt;/p&gt;
&lt;p&gt;如果没有该文件创建它：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ cd /home/git/
$ mkdir .ssh
$ chmod 755 .ssh
$ touch .ssh/authorized_keys
$ chmod 644 .ssh/authorized_keys
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;3初始化git仓库&#34;&gt;3、初始化Git仓库&lt;/h3&gt;
&lt;p&gt;首先我们选定一个目录作为Git仓库，假定是/home/gitrepo/runoob.git，在/home/gitrepo目录下输入命令：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ cd /home
$ mkdir gitrepo
$ chown git:git gitrepo/
$ cd gitrepo

$ git init --bare runoob.git
Initialized empty Git repository in /home/gitrepo/runoob.git/
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;以上命令Git创建一个空仓库，服务器上的Git仓库通常都以.git结尾。然后，把仓库所属用户改为git：&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
