把代码从一个github被推送到另一个github

上传的哪个远程仓库(无论是码云、Github还是其他托管平台)主要是与你本地仓库的设置有关,一个本地仓库可以添加多个远程仓库。如果你的电脑上有装git命令行的话,你可以使用下面的命令查看你目前关联的远程仓库:

git remote -v

如果你要添加另一个远程仓库,首先你需要先知道远程仓库的url,然后使用:

git remote add <name> <url-of-remote>

添加远程仓库,<name>是指远程仓库的别名,例如origin、mayun,随便什么都可以,只要你自己可以明白就行,第二个参数是远程仓库的url。

eg:
git remote add self_web_app http://gitlab.sinosoft.com.cn:8777/asm-suite/self_web_app.git
然后
git remote -v:
self_web_app    http://gitlab.sinosoft.com.cn:8777/asm-suite/self_web_app.git(fetch)
self_web_app    http://gitlab.sinosoft.com.cn:8777/asm-suite/self_web_app.git(push)

当你使用git push推送的时候,你应该指定那个远程仓库:

git push <name of remote repository> <name of branch>

第一个参数是刚刚我们说过的远程仓库的别名,比如常用的origin等等,后面一个参数是分支名字。

eg:
git push self_web_app develop

上面的方法是针对git命令行的,十分灵活。

git打版本号:

通过Git的打标签功能git tag来解决这个问题,并用SemVer(语义化版本控制规范)规范标签的命名。

一、打标签

打标签的作用,就是给项目的开发节点,加上语义化的名字,也即功能版本的别名。
打上标签名的同时,写上附带信息,可以方便项目日后维护过程中的回溯和复查。
另外,也可以通过标签记录,大致了解当前项目的向下兼容性、API的修改和迭代情况。

1.1 打标签命令

一般推荐打带附注信息的标签,这样可以最大限度的查看标签版本的修改情况。

// 命令格式
git tag -a 标签名 -m "附注信息"

// 示例
git tag -a v0.1.0 -m "完成了文章a和文章b的撰写,耗费时间2h,感觉棒棒的!"

1.2 举个栗子

一份文集等待出版,有a、b、c、d四篇。
现在通过Git管理进度。

1.经过两次commit操作,添加a.txtb.txt后,将代码修改push到远程仓库。

仓库图表如下:

master -> * 添加b.txt
          | 
          * 添加a.txt
          |
          * 初始化

2.给当前文集打个标签,顺便留个心情

// 打标签
git tag -a v0.1.0 -m "完成了文章a和文章b的撰写,耗费时间2h,感觉棒棒的!"

// push 标签到远程仓库
git push origin v0.1.0

仓库图表如下:

    master v0.1.0 -> * 添加b.txt
                     | 
                     * 添加a.txt
                     |
                     * 初始化

3.再经过两次commit操作,添加c.txtd.txt后,将代码修改push到远程仓库。

仓库图表如下:

           master -> * 添加d.txt
                     |
                     * 添加c.txt
                     |
           v0.1.0 -> * 添加b.txt
                     | 
                     * 添加a.txt
                     |
                     * 初始化

4.文集已经写完,打个完结版的标签

// 打标签
git tag -a v1.0.0 -m "文集完成,共4篇文章,等出版。"

// push 标签到远程仓库
git push origin v1.0.0

仓库图表如下:

    master v1.0.0 -> * 添加d.txt
                     |
                     * 添加c.txt
                     |
           v0.1.0 -> * 添加b.txt
                     | 
                     * 添加a.txt
                     |
                     * 初始化

5.过了段时间,我想知道文集在v0.1.0版本的情况

// 输出v0.1.0的详情
git show v0.1.0

// 输出结果
tag v0.1.0
Tagger: wall <582104384@qq.com>
Date:   Wed May 23 15:57:13 2018 +0800

完成了文章a和文章b的撰写,耗费时间2h,感觉棒棒的!

commit 7107eb8b3f870cd864e3eb5b14f26184d73dd1e6 (tag: v0.1.0)
Author: wall <582104384@qq.com>
Date:   Wed May 23 15:27:10 2018 +0800

    添加b.txt

diff --git a/src/b.txt b/src/b.txt
new file mode 100644
index 0000000..f9ee20e
--- /dev/null
+++ b/src/b.txt

这里,可以清晰地看到当时打标签的内容和附注信息。
还有另外一个方便的点,就是不需要用hash字符串表示的版本号去查看更改。

以下是用版本号查询的结果:

// 用版本号查看
git show 7107eb8b3f870cd864e3eb5b14f26184d73dd1e6

// 输出结果
commit 7107eb8b3f870cd864e3eb5b14f26184d73dd1e6 (tag: v0.1.0)
Author: wall <582104384@qq.com>
Date:   Wed May 23 15:27:10 2018 +0800

    添加b.txt

diff --git a/src/b.txt b/src/b.txt
new file mode 100644
index 0000000..f9ee20e
--- /dev/null
+++ b/src/b.txt
@@ -0,0 +1 @@
+This is B.
\ No newline at end of file


链接:https://www.imooc.com/article/30544

posted on 2019-10-08 14:03  寂无声之SPY  阅读(479)  评论(0编辑  收藏  举报

导航