美文网首页
远程工厂与本地工厂的关联

远程工厂与本地工厂的关联

作者: Mongy | 来源:发表于2017-04-24 13:26 被阅读0次

7、组件中名称的设定

git update-ref refs/INIT/2b4549 使用引用名称
git update-ref -d refs/INIT 删除引用的名称
git reset --hard INIT   还原到INIT的版本 
git show-ref 查看引用名称
git tag beta0.0.1 将当前版本的名称设置到标签中
git tag -d beta0.01 删除标签
git tag 查看标签名称
git rev-parse HEAD 引用名称转化为相对名称(转化为当前版本的名称)
git rev-parse HEAD~2 或 git rev-parse^^^^ 转化到上二个版本
git rev-parser HEAD~1 或 git rev-parse^^ 转化到上一个版本

8、远程工厂和本地工厂交互

让本地工厂和远程工厂进行关联

创建完远程工厂之后,就需要考虑如何和本地工厂进行交互。此时会有几种情况:
本地工厂已经存在,远程工厂未进行初始化
本的工厂已经存在,远程工厂已经进行初始化
本地工厂不存在,远程工厂未进行初始化
本地工厂不存在,远程工厂已经初始化
以下是四种情况的模拟:

一、本地工厂已经存在,远程工厂未进行初始化

由于本地工厂已经存在,需要将本地工厂与远程工厂进行关联,来完成项目的上传
Git用来模拟本地工厂已经存在,远程工厂未进行初始化
①先建立一个本地工厂

F:\git>mkdir Git
F:\git>cd Git
F:\git\Git>git init
Initialized empty Git repository in F:/git/Git/.git/
F:\git\Git>git st
?? git.txt
F:\git\Git>git add .
F:\git\Git>git co -m "git.txt"
[master (root-commit) 79b38d8] git.txt
 1 file changed, 71 insertions(+)
 create mode 100644 git.txt

②可以用git remote add origin https://github.com/yngy2016/test01来完成远程工厂的关联

[remote "origin"]
    url = https://github.com/yngy2016/Git
    fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
    remote = origin
    merge = refs/heads/master

origin 表示为远程工厂设定一个名称,这时可以在.git中的config文件来看数据的添加,
url表示origin所对应的远程工厂名称
fetch表示在获取远程工厂名称时会根据这个引用名称来获取

③完成关联的设置后使用git push master来提交,会将本地工厂的数据提交到origin这个远程工厂的master分之中,第一次提交要输入用户名和密码,以下是完成的提交代码:

F:\git\Git>git push origin master
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 1.28 KiB | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://github.com/yngy2016/Git
 * [new branch]      master -> master

提交完成后远程工厂会有本地工厂的数据
使用git push --set-upstream origin master可以将本地分支master注册到.git/config文件中,之后使用git push就可以数据的提交,这种方式也可以用在master的其它分支上。

总结:
①创建本地工厂
②创建远程工厂,并不初始化
③使用git remote add origin https://github.com/yngy2016/Git```来进行工厂的关联。 ④使用```git push origin master```来提交 ⑤使用```git push --set-upstream origin master```可以注册分支 ⑥在使用git push``就可以完成数据的提交

二、本的工厂已经存在,远程工厂已经进行初始化

**git_init用来模拟本地工厂已经存在,远程工厂已经进行初始化****
①先建立本地工厂
②建立远程工厂并初始化之后,使用git remote push master https://github.com/yngy2016/git_init来完成工厂关联时会出现以下代码:

To https://github.com/yngy2016/git_init
 ! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'https://github.com/yngy2016/git_init'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

这是因为已经在远程工厂中的数据已经初始化,并且创建了一个master分支,会与本地工厂的数据冲突,这时使用git push master依然会报错,需要更新数据来完成提交,获取远程工厂的命令是git pull master会出现以下代码:

warning: no common commits
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
From https://github.com/yngy2016/git_init
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
fatal: refusing to merge unrelated histories

这是因为远程工厂与本地工厂还没有进行关联,无法合并分支,就需要加入参数--allow-unrelated-histories来进行远程工厂的数据获取。

F:\git\git_init>git pull origin master --allow-unrelated-histories
From https://github.com/yngy2016/git_init
 * branch            master     -> FETCH_HEAD
Merge made by the 'recursive' strategy.
 README.md | 1 +
 1 file changed, 1 insertion(+)
 create mode 100644 README.md

③使用git log来查看版本,共有三个版本:

F:\git\git_init>git log
commit dbac23e0a2ecca66798c222dafabc1774008b03c
Merge: 62a8b56 7614851
Author: yngaoyan <yngaoyan@gemil.com>
Date:   Sun Apr 23 17:54:01 2017 +0800

    Merge branch 'master' of https://github.com/yngy2016/git_init

commit 62a8b569016bcfb40a2c60efacac69ef051de6e9
Author: yngaoyan <yngaoyan@gemil.com>
Date:   Sun Apr 23 17:46:42 2017 +0800

    git_init.txt

commit 76148511272d4624c8150d79890bd53fd34fca29
Author: yngy2016 <2269904451@qq.com>
Date:   Sun Apr 23 17:43:58 2017 +0800

    Initial commit

第一个版本是在远程工厂中初始化并提交的版本 Initial commit,第二个是版本是在本地工厂初始化并提交的版本git_init.txt,第三个版本是最新版本,是两个的合并版本,之后在使用git push master就可以完成本地工厂的提交。

Counting objects: 5, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (5/5), 494 bytes | 0 bytes/s, done.
Total 5 (delta 0), reused 0 (delta 0)
To https://github.com/ynkonghao/test1_init.git
   263dab7..3395ef6  master -> master
Branch master set up to track remote branch master from origin.

总结:
①建立本地工厂和远程工厂,并初始化远程工厂
②使用git pull origin master --allow-unrelated-histories从远程工厂中获取数据并合并到本地工厂中
③使用git log来查看版本的信息
④使用git push master来完成提交

三、本地工厂没有建立,远程工厂已经进行初始化

**fac_init用来模拟本地工厂没有建立,远程工厂已经进行初始化****
①现在建立远程工厂并初始化

②使用git clone https://github.com/yngy2016/fac_init把远程工厂的数据克隆到本地工厂,会出现以下代码,本地就会出现一个fac_init的文件,里面的数据和远程工厂的一样。

Cloning into 'fac_init'...
remote: Counting objects: 21, done.
remote: Compressing objects: 100% (13/13), done.
remote: Total 21 (delta 5), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (21/21), done.

③进入fac_init文件夹使用git log可以看到工厂中已经有一次master分支的提交

④之后添加数据只需要git push就能把数据提交到远程工厂的master分支中

F:\git\fac_init>git push
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 294 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://github.com/yngy2016/fac_init
   fdb0254..6b4bee2  master -> master

总结:
①建立远程工厂并初始化,没有本地工厂
②使用git clone https://github.com/yngy2016/fac_init把远程工厂的数据克隆到本地工厂
③使用git push提交数据

四、本的工厂不存在,远程工厂没有初始化

fac用来模拟远程工厂未已经行初始化
①本地工厂不存在和远程工厂没有初始化
②当时用git clone https://github.com/yngy2016/fac时会报错代码如下:

Cloning into 'fac'...
warning: You appear to have cloned an empty repository.
③要先在本地工厂建立第一个版本
F:\git>cd fac

F:\git\fac>git add .

F:\git\fac>git st
A  fac.txt

F:\git\fac>git co -m "fac.txt"
[master (root-commit) 547f031] fac.txt
 1 file changed, 9 insertions(+)
 create mode 100644 fac.txt

F:\git\fac>git push
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 468 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://github.com/yngy2016/fac
 * [new branch]      master -> master

相关文章

  • 远程工厂与本地工厂的关联

    7、组件中名称的设定 8、远程工厂和本地工厂交互 让本地工厂和远程工厂进行关联 创建完远程工厂之后,就需要考虑如何...

  • github第十一讲的本地工厂和远程工厂的交互

    让本地工厂和远程工厂进行关联 创建完远程工厂之后,就需要考虑如何和本地工厂进行交互。此时会有几种情况: 本地工厂已...

  • git基本操作

    关联与下载 本地关联远程仓库 远程仓库下载至本地 查看关联远程 分支 创建并切换分支 切换分支 创建分支 提交本地...

  • Git基础命令(四)

    本地库与远程库关联 关联命令 查看远程库的信息 查看远程库的详细信息 将远程库克隆到本地库中 把远程库中最新的提交...

  • git使用笔记

    一、git中本地与远程库的关联和取消 1.在本地目录下关联远程repository : git remote ad...

  • Git常用操作

    远程推送 查看当前仓库的远程库信息: 从本地创建与远程分支对应的分支: 查看本地分支与远程分支的的关联情况: 建立...

  • PLC网关 智能工厂设备远程控制监测

    PLC网关 智能工厂设备远程控制监测 物联网时代高速发展以来,工厂智能化管理的到广泛应用,解决了传统工业本地维护、...

  • Git 入门到放弃

    简介 git关联远程仓库 本地仓库与远程仓库同步问题 Git 终端命令 git关联远程仓库 基本流程 注册gith...

  • 记录一次新建分支修改Bug然后提交PR(MR)中使用到的Git命

    查看一下本地分支,(查看本地和远程的所有分支) 新建本地分支和远程分支,并关联 关联好了就可以在本地分支和目标远程...

  • 工厂模式

    简介: 工厂模式就是作为一个工厂的类有一个对象以及与他关联的多个方法,客户端使用某些参数调用此方法,之后工厂会依据...

网友评论

      本文标题: 远程工厂与本地工厂的关联

      本文链接:https://www.haomeiwen.com/subject/fafpzttx.html