1 环境配置
设置的信息会保存在~/.gitconfig文件中
查看配置信息
git config --list
git config user.name
设置用户信息
git config --global user.name "有勇气的牛排"
git config --global user.email “1809296387@qq.com”
2 获取Git仓库
2.1 本地初始化一个仓库
git init
2.2 从远程仓库克隆
git clone 远程仓库地址https://gitee.com/zx7758/mybatis-demo01.git
3 工作目录、暂存区、版本库概念
版本库
:.git隐藏文件夹的目录就是工作目录,主要用于存放开发的代码
工作目录(工作区)
:包含.git文件夹的目录就是工作目录,主要存放开发的代码
暂存区
:.git文件夹中有很多文件,其中index
文件就是暂存区,主要用于存放开发的代码

4 Git 工作目录下文件的两种状态
- untracked 为跟踪(未被纳入版本控制)
- tracked 以跟踪(被纳入版本控制)
- Unmodified 未修改状态
- Modified 已暂存状态
5 本地仓库操作
5.1 查看文件状态
git status

简洁输出
$ git status -s
?? .idea/
?? er.name
?? mybatisDemo.iml
?? pom.xml
?? src/
?? target/
?? web/
5.2 将为跟踪文件加入暂存区
git add pom.xml
查看状态
git status

5.3 取消加入暂存区
git reset pom.xml
5.4 将暂存区文件提交到本地仓库
git commit -m *
5.5 删除文件
6 远程仓库操作
6.1 查看远程仓库
列出指定的每一个远程服务器
git remote
git remote show origin

6.2 添加远程仓库
格式:git remote add <shortname> <url>
git remote add mybatis https://gitee.com/***/mybatis-demo01.git
6.3 克隆存在远程仓库
git clone https://gitee.com/***/mybatis-demo01.git
6.4 移除无效仓库
git remote rm origin
注意:此命令只是从本地移除远程仓库的记录,并不会真正影响到远程仓库
6.5 从远程仓库中抓取与拉取
git init
git remote add origin https://gitee.com/***/mybatis-demo01.git
git fetch origin master
git fetch origin/master
6.6 从远程仓库获取最新版并merge到本地仓库
git init
git remote add origin https://gitee.com/***/mybatis-demo01.git
git pull origin master
注意
如果当前本地仓库不是从远程仓库克隆,而是本地创建的仓库,并且仓库中存在文件,此时再从远程仓库拉取文件的时候会报错(fatal: refusing to merge unrelated histories )
解决方法
git pull –allow-unrelated-histories
couldn’t find remote ref –allow-unrelated-histories报错解决
git pull --rebase origin master
6.7 将本地分支与远程分支关联
git branch --set-upstream-to origin/master master
6.8 推送代码到远程仓库
git push origin master
7 分支
几乎所有的版本控制系统都以某种形式支持分支。 使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。Git 的master分支并不是一个特殊分支。 它跟其它分支没有区别。 之所以几乎每一个仓库都有 master 分支,是因为git init 命令默认创建它,并且大多数人都懒得去改动它。
7.1 查看分支
列出所有本地分支
git branch
列出所有远程分支
git branch -r
列出所有本地分支和远程分支
git branch -a
7.2 创建分支
git branch
git branch one
7.3 切换分支
git checkout one
7.3 推送至远程仓库分支
git push mybatis one
7.4 合并分支
git merge one
7.5 删除分支
git beanch -d one
如果正在开发,删除会失败,强制-D
参考地址:
https://blog.csdn.net/qq_37883866/article/details/105349257
<h2><a id="1__0"></a>1 环境配置</h2>
<p>设置的信息会保存在~/.gitconfig文件中</p>
<p>查看配置信息</p>
<pre><div class="hljs"><code class="lang-shell">git config --list
git config user.name
</code></div></pre>
<p>设置用户信息</p>
<pre><div class="hljs"><code class="lang-shell">git config --global user.name "有勇气的牛排"
git config --global user.email “1809296387@qq.com”
</code></div></pre>
<h2><a id="2_Git_20"></a>2 获取Git仓库</h2>
<h3><a id="21__22"></a>2.1 本地初始化一个仓库</h3>
<pre><div class="hljs"><code class="lang-shell">git init
</code></div></pre>
<h3><a id="22__28"></a>2.2 从远程仓库克隆</h3>
<pre><div class="hljs"><code class="lang-shell">git clone 远程仓库地址https://gitee.com/zx7758/mybatis-demo01.git
</code></div></pre>
<h2><a id="3__36"></a>3 工作目录、暂存区、版本库概念</h2>
<p><code>版本库</code>:.git隐藏文件夹的目录就是工作目录,主要用于存放开发的代码</p>
<p><code>工作目录(工作区)</code>:包含.git文件夹的目录就是工作目录,主要存放开发的代码</p>
<p><code>暂存区</code>:.git文件夹中有很多文件,其中<code>index</code>文件就是暂存区,主要用于存放开发的代码</p>
<p><img src="https://static.couragesteak.com/article/c4d187eb553082d865f9c7ad5ac4cf59.png" alt="" /></p>
<h2><a id="4_Git__47"></a>4 Git 工作目录下文件的两种状态</h2>
<ul>
<li>untracked 为跟踪(未被纳入版本控制)</li>
<li>tracked 以跟踪(被纳入版本控制)</li>
<li>Unmodified 未修改状态</li>
<li>Modified 已暂存状态</li>
</ul>
<h2><a id="5__56"></a>5 本地仓库操作</h2>
<h3><a id="51__58"></a>5.1 查看文件状态</h3>
<pre><div class="hljs"><code class="lang-shell">git status
</code></div></pre>
<p><img src="https://static.couragesteak.com/article/8d9b517dca7ec8467b67cfb649c8d045.png" alt="git查看文件状态" /></p>
<p>简洁输出</p>
<pre><div class="hljs"><code class="lang-shell"><span class="hljs-meta">$ </span><span class="language-bash">git status -s</span>
?? .idea/
?? er.name
?? mybatisDemo.iml
?? pom.xml
?? src/
?? target/
?? web/
</code></div></pre>
<h3><a id="52__78"></a>5.2 将为跟踪文件加入暂存区</h3>
<pre><div class="hljs"><code class="lang-shell">git add pom.xml
</code></div></pre>
<p>查看状态</p>
<pre><div class="hljs"><code class="lang-shell">git status
</code></div></pre>
<p><img src="https://static.couragesteak.com/article/aa91fa7adc1acac6931c0163bb9a99e7.png" alt="git查看状态" /></p>
<h3><a id="53__92"></a>5.3 取消加入暂存区</h3>
<pre><div class="hljs"><code class="lang-shell">git reset pom.xml
</code></div></pre>
<h3><a id="54__100"></a>5.4 将暂存区文件提交到本地仓库</h3>
<pre><div class="hljs"><code class="lang-shell">git commit -m *
</code></div></pre>
<h3><a id="55__108"></a>5.5 删除文件</h3>
<pre><div class="hljs"><code class="lang-shell">
</code></div></pre>
<h2><a id="6__116"></a>6 远程仓库操作</h2>
<h3><a id="61__118"></a>6.1 查看远程仓库</h3>
<p>列出指定的每一个远程服务器</p>
<pre><div class="hljs"><code class="lang-shell">git remote
</code></div></pre>
<pre><div class="hljs"><code class="lang-shell">git remote show origin
</code></div></pre>
<p><img src="https://static.couragesteak.com/article/d7c6f2a66e3745c230befc7920045d43.png" alt="git查看远程仓库" /></p>
<h3><a id="62__132"></a>6.2 添加远程仓库</h3>
<p>格式:<code>git remote add <shortname> <url></code></p>
<pre><div class="hljs"><code class="lang-shell">git remote add mybatis https://gitee.com/***/mybatis-demo01.git
</code></div></pre>
<h3><a id="63__142"></a>6.3 克隆存在远程仓库</h3>
<pre><div class="hljs"><code class="lang-shell">git clone https://gitee.com/***/mybatis-demo01.git
</code></div></pre>
<h3><a id="64__150"></a>6.4 移除无效仓库</h3>
<pre><div class="hljs"><code class="lang-shell">git remote rm origin
</code></div></pre>
<p>注意:此命令只是从本地移除远程仓库的记录,并不会真正影响到远程仓库</p>
<h3><a id="65__160"></a>6.5 从远程仓库中抓取与拉取</h3>
<pre><div class="hljs"><code class="lang-shell">git init
</code></div></pre>
<pre><div class="hljs"><code class="lang-shell">git remote add origin https://gitee.com/***/mybatis-demo01.git
</code></div></pre>
<pre><div class="hljs"><code class="lang-shell">git fetch origin master
</code></div></pre>
<pre><div class="hljs"><code class="lang-shell">git fetch origin/master
</code></div></pre>
<h3><a id="66_merge_180"></a>6.6 从远程仓库获取最新版并merge到本地仓库</h3>
<pre><div class="hljs"><code class="lang-shell">git init
</code></div></pre>
<pre><div class="hljs"><code class="lang-shell">git remote add origin https://gitee.com/***/mybatis-demo01.git
</code></div></pre>
<pre><div class="hljs"><code class="lang-shell">git pull origin master
</code></div></pre>
<p><strong>注意</strong></p>
<p>如果当前本地仓库不是从远程仓库克隆,而是本地创建的仓库,并且仓库中存在文件,此时再从远程仓库拉取文件的时候会报错(fatal: refusing to merge unrelated histories )</p>
<p>解决方法</p>
<pre><div class="hljs"><code class="lang-shell">git pull –allow-unrelated-histories
</code></div></pre>
<p>couldn’t find remote ref –allow-unrelated-histories报错解决</p>
<pre><div class="hljs"><code class="lang-shell">git pull --rebase origin master
</code></div></pre>
<h3><a id="67__214"></a>6.7 将本地分支与远程分支关联</h3>
<pre><div class="hljs"><code class="lang-shell">git branch --set-upstream-to origin/master master
</code></div></pre>
<h3><a id="68__222"></a>6.8 推送代码到远程仓库</h3>
<pre><div class="hljs"><code class="lang-shell">git push origin master
</code></div></pre>
<h2><a id="7__230"></a>7 分支</h2>
<p>几乎所有的版本控制系统都以某种形式支持分支。 使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。Git 的master分支并不是一个特殊分支。 它跟其它分支没有区别。 之所以几乎每一个仓库都有 master 分支,是因为git init 命令默认创建它,并且大多数人都懒得去改动它。</p>
<h3><a id="71__236"></a>7.1 查看分支</h3>
<p>列出所有本地分支</p>
<pre><div class="hljs"><code class="lang-shell">git branch
</code></div></pre>
<p>列出所有远程分支</p>
<pre><div class="hljs"><code class="lang-shell">git branch -r
</code></div></pre>
<p>列出所有本地分支和远程分支</p>
<pre><div class="hljs"><code class="lang-shell">git branch -a
</code></div></pre>
<h3><a id="72__258"></a>7.2 创建分支</h3>
<pre><div class="hljs"><code class="lang-shell">git branch
</code></div></pre>
<pre><div class="hljs"><code class="lang-shell">git branch one
</code></div></pre>
<h3><a id="73__268"></a>7.3 切换分支</h3>
<pre><div class="hljs"><code class="lang-shell">git checkout one
</code></div></pre>
<h3><a id="73__274"></a>7.3 推送至远程仓库分支</h3>
<pre><div class="hljs"><code class="lang-shell">git push mybatis one
</code></div></pre>
<h3><a id="74__280"></a>7.4 合并分支</h3>
<pre><div class="hljs"><code class="lang-shell">git merge one
</code></div></pre>
<h3><a id="75__286"></a>7.5 删除分支</h3>
<pre><div class="hljs"><code class="lang-shell">git beanch -d one
</code></div></pre>
<p>如果正在开发,删除会失败,强制<code>-D</code></p>
<p>参考地址:</p>
<p>https://blog.csdn.net/qq_37883866/article/details/105349257</p>
留言