缘来就是美 發表於 2023-12-18 16:03:00

git与gitee码云

<h1 id="1git分支">1.git分支</h1>
<p>在前面我们基本了解Git的使用方法,这一节我们看下GIt重要概念【分支】</p>
<div class="code-wrapper">
<pre><code><span class="code-line">背景
<span class="code-line">
<span class="code-line">例如于超老师在开发一个同性交友网站,刚写到登录功能,代码还没写完,今天先睡觉了,所以就commit提交到本地仓库了。
<span class="code-line">
<span class="code-line">假如这会另一个程序员张三不知道,还直接对这个代码继续开发,这就乱套了。
<span class="code-line">
<span class="code-line">
<span class="code-line">讲道理,应该这么玩:
<span class="code-line">1. 分别给于超老师添加一个分支 yuchao,张三一个分支zhangsan
<span class="code-line">2. 这俩人基于自己的分支环境去写代码,进行版本提交,却能互不影响
<span class="code-line">3. 最后将这2人的代码进行合并即可(需要考虑可能存在冲突,手动解决)</span></span></span></span></span></span></span></span></span></span></span></code></pre>
</div>
<p><img src="https://img2023.cnblogs.com/blog/1749704/202312/1749704-20231218160112087-1080312264.png"></p>
<p>&nbsp;</p>
<h2 id="11-分支命令实践">1.1 分支命令实践</h2>
<h3 id="默认版本仓库只有一个分支,master">默认版本仓库只有一个分支,master</h3>
<div class="code-wrapper">
<pre><code><span class="code-line">查看当前我们在哪一个分支,有星星就是你在哪
<span class="code-line">此例的意思就是,我们有一个叫做 master 的分支,并且该分支是当前分支。
<span class="code-line">当你执行 git init 的时候,默认情况下 Git 就会为你创建 master 分支。
<span class="code-line">如果我们要手动创建一个分支。执行 git branch (branchname) 即可。
<span class="code-line">
<span class="code-line">#git branch
<span class="code-line">* master</span></span></span></span></span></span></span></code></pre>
</div>
<h3 id="创建分支">创建分支</h3>
<div class="code-wrapper">
<pre><code><span class="code-line">#git branch yuchao
<span class="code-line">#
<span class="code-line">#git branch
<span class="code-line">* master
<span class="code-line">yuchao</span></span></span></span></span></code></pre>
</div>
<h3 id="切换分支">切换分支</h3>
<div class="code-wrapper">
<pre><code><span class="code-line">1.进入到yuchao分支
<span class="code-line">#git checkout yuchao
<span class="code-line">Switched to branch 'yuchao'
<span class="code-line">
<span class="code-line">
<span class="code-line">#git branch
<span class="code-line">master
<span class="code-line">* yuchao</span></span></span></span></span></span></span></span></code></pre>
</div>
<h3 id="yuchao分支下写代码">yuchao分支下写代码</h3>
<p>这里就是公司里的多个程序员,如何开发同一套系统的流程了。</p>
<div class="code-wrapper">
<pre><code><span class="code-line">#ls
<span class="code-line">hello.shlaoliu.sh
<span class="code-line">#
<span class="code-line">#vim hello_world.sh
<span class="code-line">#git add .#git commit -m 'yuchao 打印了一句话'
<span class="code-line"> yuchao 打印了一句话 1 file changed, 1 insertion(+) create mode 100644 hello_world.sh##lshello.shhello_world.shlaoliu.sh#git branchmaster* yuchao#git status# On branch yuchaonothing to commit, working directory clean</span></span></span></span></span></span></code></pre>
</div>
<h3 id="切换到master分支">切换到master分支</h3>
<div class="code-wrapper">
<pre><code><span class="code-line">#git checkoutmaster
<span class="code-line">Switched to branch 'master'#lshello.shlaoliu.sh#git branch
<span class="code-line">* master
<span class="code-line">yuchao</span></span></span></span></code></pre>
</div>
<p>你此时只有切到yuchao分支,才能看到代码文件</p>
<div class="code-wrapper">
<pre><code><span class="code-line">#git checkout yuchao
<span class="code-line">Switched to branch 'yuchao'
<span class="code-line">#ls
<span class="code-line">hello.shhello_world.shlaoliu.sh</span></span></span></span></code></pre>
</div>
<h3 id="合并分支">合并分支</h3>
<p>合并yuchao分支的代码到master主干线上来</p>
<div class="code-wrapper">
<pre><code><span class="code-line">1.回到master主干分支
<span class="code-line">
<span class="code-line">#git checkout master
<span class="code-line">Switched to branch 'master'
<span class="code-line">#
<span class="code-line">#git merge yuchao
<span class="code-line">Updating 049a22f..164de7b
<span class="code-line">Fast-forward
<span class="code-line"> hello_world.sh | 1 +
<span class="code-line"> 1 file changed, 1 insertion(+)
<span class="code-line"> create mode 100644 hello_world.sh
<span class="code-line">#ls
<span class="code-line">hello.shhello_world.shlaoliu.sh</span></span></span></span></span></span></span></span></span></span></span></span></span></code></pre>
</div>
<p><img src="https://img2023.cnblogs.com/blog/1749704/202312/1749704-20231218160123483-1329613777.png"></p>
<p>&nbsp;</p>
<h3 id="分支冲突">分支冲突</h3>
<p>这里是新添加了一个文件,合并数据还好,如果是同一个文件,且同一行数据的修改,岂不是GG?</p>
<h4 id="1再创建一个分支,zhangsan,搞破坏,且提交代码到版本仓库">1.再创建一个分支,zhangsan,搞破坏,且提交代码到版本仓库</h4>
<div class="code-wrapper">
<pre><code><span class="code-line">
<span class="code-line">
<span class="code-line">创建且切换分支
<span class="code-line">#git checkout -b zhangsan
<span class="code-line">Switched to a new branch 'zhangsan'
<span class="code-line">#
<span class="code-line">#
<span class="code-line">#
<span class="code-line">#echo "我是zhangsan,我就是来搞破坏的,你想咋地吧" &gt;&gt; laoliu.sh
<span class="code-line">#ls
<span class="code-line">hello.shhello_world.shlaoliu.sh
<span class="code-line">#cat laoliu.sh
<span class="code-line">加油啊兄弟们,胜利的曙光就要看到了!!
<span class="code-line">好的超哥,我一定相信自己,加油努力,给自己一个满意的结果!!
<span class="code-line">
<span class="code-line">兄弟们,git工具,一般是开发人员用的多,我们运维一般也就是上传,下载代码而已了。
<span class="code-line">我是zhangsan,我就是来搞破坏的,你想咋地吧
<span class="code-line">
<span class="code-line">
<span class="code-line">
<span class="code-line">
<span class="code-line">
<span class="code-line">#git commit -m 'zhangsan 搞破坏'
<span class="code-line"> zhangsan 搞破坏
<span class="code-line">1 file changed, 1 insertion(+)
<span class="code-line">
<span class="code-line">
<span class="code-line">
<span class="code-line">#git log --oneline
<span class="code-line">8396a73 zhangsan 搞破坏
<span class="code-line">164de7b yuchao 打印了一句话
<span class="code-line">049a22f v1 hello.sh
<span class="code-line">e9547df v3 就玩三次吧
<span class="code-line">9a3bd4d v2 添加了第二行数据
<span class="code-line">fb118ba first commit with line 1</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></code></pre>
</div>
<h4 id="2切换回master分支,别合并,先修改同一个文件,注意提交到版本仓库">2.切换回master分支,别合并,先修改同一个文件,注意提交到版本仓库</h4>
<div class="code-wrapper">
<pre><code><span class="code-line">#git checkout master
<span class="code-line">Switched to branch 'master'
<span class="code-line">#
<span class="code-line">#vim laoliu.sh
<span class="code-line">#
<span class="code-line">#
<span class="code-line">#cat laoliu.sh-n
<span class="code-line">   1    加油啊兄弟们,胜利的曙光就要看到了!!
<span class="code-line">   2    好的超哥,我一定相信自己,加油努力,给自己一个满意的结果!!
<span class="code-line">   3
<span class="code-line">   4    兄弟们,git工具,一般是开发人员用的多,我们运维一般也就是上传,下载代码而已了。
<span class="code-line">   5    兄弟们,我是master,我在第5行写了一句话
<span class="code-line">#
<span class="code-line">
<span class="code-line">
<span class="code-line">
<span class="code-line">
<span class="code-line">#git add .
<span class="code-line">#
<span class="code-line">#
<span class="code-line">#git commit -m 'master 也修改了laoliu.sh'
<span class="code-line"> master 也修改了laoliu.sh
<span class="code-line"> 1 file changed, 1 insertion(+)
<span class="code-line">#
<span class="code-line">#git status
<span class="code-line"># On branch master
<span class="code-line">nothing to commit, working directory clean
<span class="code-line">#git log --oneline -4
<span class="code-line">5be8816 master 也修改了laoliu.sh
<span class="code-line">164de7b yuchao 打印了一句话
<span class="code-line">049a22f v1 hello.sh
<span class="code-line">e9547df v3 就玩三次吧</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></code></pre>
</div>
<h4 id="3试试这回合并代码呢?master和zhangsan修改了同一行数据">3.试试这回合并代码呢?master和zhangsan修改了同一行数据</h4>
<div class="code-wrapper">
<pre><code><span class="code-line">#
<span class="code-line">#git merge zhangsan
<span class="code-line">Auto-merging laoliu.sh
<span class="code-line">CONFLICT (content): Merge conflict in laoliu.sh
<span class="code-line">Automatic merge failed; fix conflicts and then commit the result.
<span class="code-line">#
<span class="code-line">#
<span class="code-line">#git status
<span class="code-line"># On branch master
<span class="code-line"># You have unmerged paths.
<span class="code-line">#   (fix conflicts and run "git commit")
<span class="code-line">#
<span class="code-line"># Unmerged paths:
<span class="code-line">#   (use "git add &lt;file&gt;..." to mark resolution)
<span class="code-line">#
<span class="code-line">#    both modified:      laoliu.sh
<span class="code-line">#
<span class="code-line">no changes added to commit (use "git add" and/or "git commit -a")
<span class="code-line">#
<span class="code-line">#
<span class="code-line">#cat laoliu.sh
<span class="code-line">加油啊兄弟们,胜利的曙光就要看到了!!
<span class="code-line">好的超哥,我一定相信自己,加油努力,给自己一个满意的结果!!
<span class="code-line">
<span class="code-line">兄弟们,git工具,一般是开发人员用的多,我们运维一般也就是上传,下载代码而已了。
<span class="code-line">&lt;&lt;&lt;&lt;&lt;&lt;&lt; HEAD
<span class="code-line">兄弟们,我是master,我在第5行写了一句话
<span class="code-line">=======
<span class="code-line">我是zhangsan,我就是来搞破坏的,你想咋地吧
<span class="code-line">&gt;&gt;&gt;&gt;&gt;&gt;&gt; zhangsan</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></code></pre>
</div>
<p>很明显,这里报错了,出现了冲突</p>
<h4 id="4手工解决冲突即可">4.手工解决冲突即可</h4>
<div class="code-wrapper">
<pre><code><span class="code-line">这时候你作为技术老大,决定哪一行有用,哪一行没用,还是都保留。
<span class="code-line">git使用`&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;,=========,&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;`符号分割冲突的内容,手动删除这些符号,并修改成你想要的内容
<span class="code-line">
<span class="code-line">修改结果如下
<span class="code-line">
<span class="code-line">
<span class="code-line">#cat laoliu.sh
<span class="code-line">加油啊兄弟们,胜利的曙光就要看到了!!
<span class="code-line">好的超哥,我一定相信自己,加油努力,给自己一个满意的结果!!
<span class="code-line">
<span class="code-line">兄弟们,git工具,一般是开发人员用的多,我们运维一般也就是上传,下载代码而已了。
<span class="code-line">兄弟们,我是master,我在第5行写了一句话
<span class="code-line">我是zhangsan,我就是来搞破坏的,你想咋地吧
<span class="code-line">#
<span class="code-line">
<span class="code-line">提交新版本即可
<span class="code-line">
<span class="code-line">#git commit -m 'master fix both modified laoliu.sh'
<span class="code-line"> master fix both modified laoliu.sh
<span class="code-line">
<span class="code-line">
<span class="code-line">#git status
<span class="code-line"># On branch master
<span class="code-line">nothing to commit, working directory clean
<span class="code-line">#
<span class="code-line">#
<span class="code-line">#git log --oneline -3
<span class="code-line">07f7d81 master fix both modified laoliu.sh
<span class="code-line">5be8816 master 也修改了laoliu.sh
<span class="code-line">8396a73 zhangsan 搞破坏</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></code></pre>
</div>
<h2 id="12-删除分支">1.2 删除分支</h2>
<div class="code-wrapper">
<pre><code><span class="code-line">注意不能删除当前分支
<span class="code-line">删除其他即可
<span class="code-line">
<span class="code-line">#git checkout master
<span class="code-line">Already on 'master'
<span class="code-line">#
<span class="code-line">#git branch
<span class="code-line">* master
<span class="code-line">yuchao
<span class="code-line">zhangsan
<span class="code-line">#
<span class="code-line">#
<span class="code-line">#git branch -d yuchao zhangsan
<span class="code-line">Deleted branch yuchao (was 164de7b).
<span class="code-line">Deleted branch zhangsan (was 8396a73).
<span class="code-line">#
<span class="code-line">#git branch
<span class="code-line">* master</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></code></pre>
</div>
<h2 id="13-码云的分支">1.3 码云的分支</h2>
<p><img src="https://img2023.cnblogs.com/blog/1749704/202312/1749704-20231218160136920-464797550.png"></p>
<p>&nbsp;</p>
<h1 id="2git标签">2.git标签</h1>
<p><img src="https://img2023.cnblogs.com/blog/1749704/202312/1749704-20231218160144050-728162903.png"></p>
<p>&nbsp;</p>
<p>Git仓库内的数据发生变化时,我们经常会打上一个类似于软件版本的标签tag,这样通过标签就可以把版本库中的某个版本给记录下来,便于以后我们可以将特定的数据取出来。</p>
<p><img src="https://img2023.cnblogs.com/blog/1749704/202312/1749704-20231218160150795-1247881171.png"></p>
<p>&nbsp;</p>
<h2 id="21-为啥用git标签功能">2.1 为啥用git标签功能</h2>
<p>git不是已经有commit了吗,可以附加提交信息,为什么还要tag呢?</p>
<p>开发小王:请吧上周一发布的版本打包发布,commit_id是3f6cccf0708525b58fe191c80325b73a54adee99</p>
<p>运维小于:你这什么乱七八糟的数字,,,太难找了,请你换个方法</p>
<p>开发小王换了个方式:请吧上周一发布的版本打包,版本号是v1.2,按照tag v1.2,查找commit 记录就行了!</p>
<p>所以tag就是一个容易记住的名字,和某个commit记录绑定在一起。</p>
<div class="code-wrapper">
<pre><code><span class="code-line">官网
<span class="code-line">
<span class="code-line">https://git-scm.com/book/zh/v2/Git-%E5%9F%BA%E7%A1%80-%E6%89%93%E6%A0%87%E7%AD%BE
<span class="code-line">
<span class="code-line">
<span class="code-line">因此tag和branch一般会配合使用</span></span></span></span></span></span></code></pre>
</div>
<p><img src="https://img2023.cnblogs.com/blog/1749704/202312/1749704-20231218160200089-1638600595.png"></p>
<p>&nbsp;</p>
<h2 id="22-tag标签实践">2.2 tag标签实践</h2>
<p>对当前提交的代码创建标签,-a标签名称,-m标签描述。</p>
<div class="code-wrapper">
<pre><code class="lang-bash"><span class="code-line">1. 对当前以存在的commit 进行打标签
<span class="code-line">#git log --oneline
<span class="code-line">07f7d81 master fix both modified laoliu.sh
<span class="code-line">5be8816 master 也修改了laoliu.sh
<span class="code-line">8396a73 zhangsan 搞破坏
<span class="code-line">164de7b yuchao 打印了一句话
<span class="code-line">049a22f v1 hello.sh
<span class="code-line">e9547df v3 就玩三次吧
<span class="code-line">9a3bd4d v2 添加了第二行数据
<span class="code-line">fb118ba first commit with line 1
<span class="code-line">
<span class="code-line">2. 可以给当前最新的一个commit记录打标签
<span class="code-line">#git tag -a 'v1.0' -m '修复了支付功能'
<span class="code-line">#
<span class="code-line">#
<span class="code-line">
<span class="code-line">3.查看tag列表
<span class="code-line">#git tag
<span class="code-line">v1.0
<span class="code-line">
<span class="code-line">
<span class="code-line">
<span class="code-line">4.查看当前tag对应哪个commit
<span class="code-line">#git show v1.0
<span class="code-line">tag v1.0
<span class="code-line">Tagger: pyyu &lt;yc_uuu@163.com&gt;
<span class="code-line">Date:   Thu Jul 7 17:48:30 2022 +0800
<span class="code-line">
<span class="code-line">修复了支付功能
<span class="code-line">
<span class="code-line">commit 07f7d816bf052773c3f2ead1f3cc91299ede9e34
<span class="code-line">Merge: 5be8816 8396a73
<span class="code-line">Author: pyyu &lt;yc_uuu@163.com&gt;
<span class="code-line">Date:   Wed Jul 6 20:24:08 2022 +0800
<span class="code-line">
<span class="code-line">    master fix both modified laoliu.sh
<span class="code-line">
<span class="code-line">diff --cc laoliu.sh
<span class="code-line">index ca3bfc4,c0b43f0..77e26ae
<span class="code-line">--- a/laoliu.sh
<span class="code-line">+++ b/laoliu.sh
<span class="code-line">@@@ -2,4 -2,4 +2,5 @@@
<span class="code-line">好的超哥,我一定相信自己,加油努力,给自己一个满意的结果!!
<span class="code-line">
<span class="code-line">兄弟们,git工具,一般是开发人员用的多,我们运维一般也就是上传,下载代码而已了。
<span class="code-line"> +兄弟们,我是master,我在第5行写了一句话
<span class="code-line">+ 我是zhangsan,我就是来搞破坏的,你想咋地吧
<span class="code-line">#
<span class="code-line">#git log --oneline
<span class="code-line">07f7d81 master fix both modified laoliu.sh
<span class="code-line">5be8816 master 也修改了laoliu.sh
<span class="code-line">8396a73 zhangsan 搞破坏
<span class="code-line">164de7b yuchao 打印了一句话
<span class="code-line">049a22f v1 hello.sh
<span class="code-line">e9547df v3 就玩三次吧
<span class="code-line">9a3bd4d v2 添加了第二行数据
<span class="code-line">fb118ba first commit with line 1
<span class="code-line">
<span class="code-line">
<span class="code-line">
<span class="code-line">5.查看标签列表,有哪些标签
<span class="code-line">#git tag -l
<span class="code-line">v1.0
<span class="code-line">
<span class="code-line">
<span class="code-line">6.给指定的commit记录,打上标签
<span class="code-line">#git tag -a 'v4' 8396a73-m '张三你想干什么?'
<span class="code-line">
<span class="code-line">
<span class="code-line">7.查看tag且显示注释
<span class="code-line">#git tag -l -n
<span class="code-line">v1.0            修复了支付功能
<span class="code-line">v4            张三你想干什么?
<span class="code-line">
<span class="code-line">8.删除tag
<span class="code-line">#git tag -d v4
<span class="code-line">Deleted tag 'v4' (was 60cade7)
<span class="code-line">#git tag -d v1.0
<span class="code-line">Deleted tag 'v1.0' (was 2da278c)
<span class="code-line">#
<span class="code-line">#git tag -l</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></code></pre>
</div>
<h1 id="3git远程仓库">3.git远程仓库</h1>
<h2 id="31-github">3.1 github</h2>
<p><img src="https://img2023.cnblogs.com/blog/1749704/202312/1749704-20231218160212172-691601426.png"></p>
<p>&nbsp;</p>
<div class="code-wrapper">
<pre><code>由于一堵墙,你可能是访问不了的,或者太慢
</code></pre>
</div>
<h2 id="32-码云gitee">3.2 码云Gitee</h2>
<ul>
<li>
<p>git是一个分布式版本控制系统,同一个git仓库可以分布在不同的机器上,但是开发团队必须保证在同一个网络中,且必须有一个项目的原始版本,通常的办法就是让一台电脑充当服务器的角色,每天24小时开机,其他每个人都可以在这台"服务器"仓库里克隆一份代码到自己的电脑上。</p>
</li>
<li>
<p>并且也可以把各自的代码提交到代码仓库里,也能从代码仓库拉取别人的提交。</p>
</li>
<li>
<p>这样的代码仓库服务器,我们可以自由的搭建,也可以选择使用免费的托管平台。</p>
</li>
<li>
<p>Git代码托管平台,首先推荐的是Github,世界范围内的开发者都在使用Github托管代码,可以找到大量优秀的开源项目,缺点就是访问可能会卡一点。</p>
</li>
<li>
<p>其次选择的就是Gitee,国内的代码托管平台,以及自建Gitlab服务器。</p>
</li>
</ul>
<p><img src="https://img2023.cnblogs.com/blog/1749704/202312/1749704-20231218160217992-1312263418.png"></p>
<p>&nbsp;</p>
<p>Gitee 提供免费的 Git 仓库,还集成了代码质量检测、项目演示等功能。</p>
<p>对于团队协作开发,Gitee 还提供了项目管理、代码托管、文档管理的服务。</p>
<p>官网地址</p>
<div class="code-wrapper">
<pre><code>https://gitee.com/
</code></pre>
</div>
<h2 id="33-码云创建空仓库">3.3 码云创建空仓库</h2>
<p><img src="https://img2023.cnblogs.com/blog/1749704/202312/1749704-20231218160224574-1746157777.png"></p>
<p>&nbsp;</p>
<p>创建完毕空仓库后,页面出现如下仓库使用方式,我们可以选择HTTPS和SSH两种协议和该仓库通信。</p>
<p><img src="https://img2023.cnblogs.com/blog/1749704/202312/1749704-20231218160232121-1343905825.png"></p>
<p>&nbsp;</p>
<p>到这里,我们仓库就已经创建好了,接着就是要将本地客户端和服务端连接起来,存在于两种情况</p>
<ul>
<li>本地已经有一个git仓库了</li>
<li>本地还没有git仓库</li>
</ul>
<h2 id="34-配置你的笔记本和码云仓库关联">3.4 配置你的笔记本和码云仓库关联</h2>
<h3 id="以有了local-repo(https需要输入账密)">以有了local repo(https需要输入账密)</h3>
<p>采用https协议</p>
<div class="code-wrapper">
<pre><code><span class="code-line"># 进入你自己的本地仓库,也就是有 .git的目录
<span class="code-line">
<span class="code-line">#git remote add origin https://gitee.com/yuco/yuchaoit.git
<span class="code-line">
<span class="code-line"># 推送代码
<span class="code-line">#git push -u origin "master"
<span class="code-line">Username for 'https://gitee.com': 877348180@qq.com
<span class="code-line">Password for 'https://877348180@qq.com@gitee.com':
<span class="code-line">Counting objects: 24, done.
<span class="code-line">Compressing objects: 100% (20/20), done.
<span class="code-line">Writing objects: 100% (24/24), 2.23 KiB | 0 bytes/s, done.
<span class="code-line">Total 24 (delta 8), reused 0 (delta 0)
<span class="code-line">
<span class="code-line">remote: Powered by GITEE.COM
<span class="code-line">To https://gitee.com/yuco/yuchaoit.git
<span class="code-line"> *       master -&gt; master
<span class="code-line">Branch master set up to track remote branch master from origin.
<span class="code-line">
<span class="code-line">
<span class="code-line">3. 查看远程仓库的信息
<span class="code-line">#git remote -v
<span class="code-line">origin    https://gitee.com/yuco/yuchaoit.git (fetch)
<span class="code-line">origin    https://gitee.com/yuco/yuchaoit.git (push)
<span class="code-line">
<span class="code-line">
<span class="code-line">4.删除远程仓库的地址信息,也就是断开你local repo 和 码云repo的关系了
<span class="code-line">
<span class="code-line">
<span class="code-line">#git remote remove origin
<span class="code-line">#
<span class="code-line">#git remote -v
<span class="code-line">
<span class="code-line">
<span class="code-line">
<span class="code-line">5.重新设置即可
<span class="code-line">git remote add origin https://gitee.com/yuco/yuchaoit.git</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></code></pre>
</div>
<h3 id="查看你推送上去的数据">查看你推送上去的数据</h3>
<p><img src="https://img2023.cnblogs.com/blog/1749704/202312/1749704-20231218160240322-264250595.png"></p>
<p>&nbsp;</p>
<h2 id="35-配置ssh免密推送代码">3.5 配置ssh免密推送代码</h2>
<div class="code-wrapper">
<pre><code><span class="code-line">可以直接访问地址
<span class="code-line">https://gitee.com/profile/sshkeys</span></span></code></pre>
</div>
<p>我们要在客户端生成key,结合gitee实现无密码登录,在linux和windows均可以使用ssh-keygen命令生成,需要注意的是在windows下只能生成rsa加密方式的key。</p>
<div class="code-wrapper">
<pre><code><span class="code-line">ssh-keygen 一路回车到底即可
<span class="code-line">
<span class="code-line">#cat ~/.ssh/id_rsa.pub</span></span></span></code></pre>
</div>
<h3 id="修改远程仓库的别名,改为git协议">修改远程仓库的别名,改为git协议</h3>
<div class="code-wrapper">
<pre><code><span class="code-line">#git remote -v
<span class="code-line">origin    https://gitee.com/yuco/yuchaoit.git (fetch)
<span class="code-line">origin    https://gitee.com/yuco/yuchaoit.git (push)
<span class="code-line">
<span class="code-line">修改orgin别名的地址
<span class="code-line">git@gitee.com:yuco/yuchaoit.git
<span class="code-line">
<span class="code-line">
<span class="code-line">#git remoteset-url origin git@gitee.com:yuco/yuchaoit.git
<span class="code-line">#
<span class="code-line">#git remote -v
<span class="code-line">origin    git@gitee.com:yuco/yuchaoit.git (fetch)
<span class="code-line">origin    git@gitee.com:yuco/yuchaoit.git (push)</span></span></span></span></span></span></span></span></span></span></span></span></span></code></pre>
</div>
<p><img src="https://img2023.cnblogs.com/blog/1749704/202312/1749704-20231218160248620-1858661518.png"></p>
<p>&nbsp;</p>
<p>测试加点代码,加上tag,然后再推送试试</p>
<div class="code-wrapper">
<pre><code class="lang-bash"><span class="code-line">#git status
<span class="code-line"># On branch master
<span class="code-line">nothing to commit, working directory clean
<span class="code-line">#
<span class="code-line">#ll
<span class="code-line">total 12
<span class="code-line">-rw-r--r-- 1 root root33 Jul6 20:07 hello.sh
<span class="code-line">-rw-r--r-- 1 root root53 Jul6 20:14 hello_world.sh
<span class="code-line">-rw-r--r-- 1 root root 384 Jul6 20:23 laoliu.sh
<span class="code-line">#
<span class="code-line">#echo "你看这个灯,它又大又亮" &gt; 吴亦凡^C
<span class="code-line">#
<span class="code-line">#
<span class="code-line">#echo '鸡你太美 嘿嘿嘿' &gt; caixukun.log
<span class="code-line">#git add .
<span class="code-line">#
<span class="code-line">#git commit -m '两年半练习生来也'
<span class="code-line"> 两年半练习生来也
<span class="code-line"> 1 file changed, 1 insertion(+)
<span class="code-line"> create mode 100644 caixukun.log
<span class="code-line">
<span class="code-line">
<span class="code-line"> #git tag -a 'v1' -m '第一版菜徐琨'
<span class="code-line">
<span class="code-line">
<span class="code-line"> 推送数据
<span class="code-line">
<span class="code-line"> #git push origin master</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></code></pre>
</div>
<h2 id="36-克隆远程仓库">3.6 克隆远程仓库</h2>
<p>除了我们可以在本地创建目录,写代码,通过git管理版本,最后提交到远程仓库外,还有一种玩法。</p>
<p>也就是直接下载、克隆远程仓库中的源代码。</p>
<div class="code-wrapper">
<pre><code><span class="code-line">一种是直接克隆公开的源代码。
<span class="code-line">
<span class="code-line">还有一种克隆私有的源代码,就需要账号密码验证了。</span></span></span></code></pre>
</div>
<h3 id="克隆公开仓库">克隆公开仓库</h3>
<div class="code-wrapper">
<pre><code><span class="code-line">克隆堡垒机jumpserver的源码
<span class="code-line">
<span class="code-line">#pwd
<span class="code-line">/home/yuchao
<span class="code-line">#ls
<span class="code-line">learn_git
<span class="code-line">#git clone git@gitee.com:fit2cloud-feizhiyun/Jumpserver.git
<span class="code-line">Cloning into 'Jumpserver'...
<span class="code-line">remote: Enumerating objects: 73544, done.
<span class="code-line">remote: Counting objects: 100% (7202/7202), done.
<span class="code-line">remote: Compressing objects: 100% (2866/2866), done.
<span class="code-line">remote: Total 73544 (delta 4976), reused 6070 (delta 3979), pack-reused 66342
<span class="code-line">Receiving objects: 100% (73544/73544), 63.46 MiB | 13.86 MiB/s, done.
<span class="code-line">Resolving deltas: 100% (51447/51447), done.
<span class="code-line">#ls
<span class="code-line">Jumpserverlearn_git
<span class="code-line">
<span class="code-line">#git log --oneline -3
<span class="code-line">8ab4f6f docs: 添加 pr 提示说明
<span class="code-line">5a37540 docs: 修改贡献提示
<span class="code-line">1c1d507 Create CONTRIBUTING.md
<span class="code-line">
<span class="code-line">
<span class="code-line">
<span class="code-line">#git remote -v
<span class="code-line">origin    git@gitee.com:fit2cloud-feizhiyun/Jumpserver.git (fetch)
<span class="code-line">origin    git@gitee.com:fit2cloud-feizhiyun/Jumpserver.git (push)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></code></pre>
</div>
<h3 id="克隆自己公司的代码">克隆自己公司的代码</h3>
<div class="code-wrapper">
<pre><code><span class="code-line">1.运维小王克隆代码到本地
<span class="code-line">git clone git@gitee.com:yuco/yuchaoit.git
<span class="code-line">
<span class="code-line">#git clone git@gitee.com:yuco/yuchaoit.git
<span class="code-line">Cloning into 'yuchaoit'...
<span class="code-line">remote: Enumerating objects: 27, done.
<span class="code-line">remote: Counting objects: 100% (27/27), done.
<span class="code-line">remote: Compressing objects: 100% (22/22), done.
<span class="code-line">Receiving objects: 100% (27/27), done.
<span class="code-line">remote: Total 27 (delta 9), reused 0 (delta 0), pack-reused 0
<span class="code-line">Resolving deltas: 100% (9/9), done.
<span class="code-line">#ls
<span class="code-line">yuchaoit
<span class="code-line">#cd yuchaoit/
<span class="code-line">#ls
<span class="code-line">caixukun.loghello.shhello_world.shlaoliu.sh
<span class="code-line">
<span class="code-line">
<span class="code-line">
<span class="code-line">2. 创建分支,写代码
<span class="code-line">#git checkout -b xiaowang
<span class="code-line">Switched to a new branch 'xiaowang'
<span class="code-line">#
<span class="code-line">#echo "我是小王,我写了点shell代码" &gt; xiaowang.sh
<span class="code-line">#
<span class="code-line">#git add .
<span class="code-line">#
<span class="code-line">#git commit -m '小王写了个脚本'
<span class="code-line"> 小王写了个脚本
<span class="code-line"> 1 file changed, 1 insertion(+)
<span class="code-line"> create mode 100644 xiaowang.sh
<span class="code-line">
<span class="code-line">
<span class="code-line">
<span class="code-line"> 3.推送到代码仓库(xiaowang分支)
<span class="code-line"> #git push -u origin xiaowang
<span class="code-line">Counting objects: 4, done.
<span class="code-line">Compressing objects: 100% (2/2), done.
<span class="code-line">Writing objects: 100% (3/3), 334 bytes | 0 bytes/s, done.
<span class="code-line">Total 3 (delta 1), reused 0 (delta 0)
<span class="code-line">remote: Powered by GITEE.COM
<span class="code-line">remote: Create a pull request for 'xiaowang' on Gitee by visiting:
<span class="code-line">remote:   https://gitee.com/yuco/yuchaoit/pull/new/yuco:xiaowang...yuco:master
<span class="code-line">To git@gitee.com:yuco/yuchaoit.git
<span class="code-line"> *       xiaowang -&gt; xiaowang
<span class="code-line">Branch xiaowang set up to track remote branch xiaowang from origin.</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></code></pre>
</div>
<h3 id="合并分支">合并分支</h3>
<p>1.网页端合并操作,创建合并的请求</p>
<p><img src="https://img2023.cnblogs.com/blog/1749704/202312/1749704-20231218160259476-2080097572.png"></p>
<p>&nbsp;</p>
<p>2.审查提交请求</p>
<p><img src="https://img2023.cnblogs.com/blog/1749704/202312/1749704-20231218160306183-207089325.png"></p>
<p>&nbsp;</p>
<p>3.点击合并,且删除分支</p>
<p><img src="https://img2023.cnblogs.com/blog/1749704/202312/1749704-20231218160313528-1248296484.png"></p>
<p>&nbsp;</p>
<p>4.完成合并,分支的代码就被合并到主干线了</p>
<p><img src="https://img2023.cnblogs.com/blog/1749704/202312/1749704-20231218160320479-137332930.png"></p>
<p>&nbsp;</p><br><br>
来源:https://www.cnblogs.com/sxy-blog/p/17911464.html
頁: [1]
查看完整版本: git与gitee码云