创建中间git存储库
我想安装一个Interdigit存储库,我的所有团队成员都可以在此存储库中进行提交和推送 当所有团队成员完成所有任务时,Interdiary存储库中所有提交的更改都必须在位于internet上托管的另一台服务器中的Official git存储库中交付 我的问题是,是否可以进行此配置?怎么做呢?这是可能的 您可以按照教程或使用类似的工具在一台LAN计算机中设置git服务器。一旦您准备好了本地git回购,您就可以向团队成员授予访问权限 要将本地服务器同步到中央服务器,请使用两个远程设备设置一个本地副本。然后,您可以简单地从本地服务器创建中间git存储库,git,Git,我想安装一个Interdigit存储库,我的所有团队成员都可以在此存储库中进行提交和推送 当所有团队成员完成所有任务时,Interdiary存储库中所有提交的更改都必须在位于internet上托管的另一台服务器中的Official git存储库中交付 我的问题是,是否可以进行此配置?怎么做呢?这是可能的 您可以按照教程或使用类似的工具在一台LAN计算机中设置git服务器。一旦您准备好了本地git回购,您就可以向团队成员授予访问权限 要将本地服务器同步到中央服务器,请使用两个远程设备设置一个本地副
git pull
获取本地更改,并git push
到中央服务器。您可以通过使用无密码短语的密钥对访问两台服务器来安排此任务
有关设置多个git遥控器的更多详细信息,请参见
您可以按照教程或使用类似的工具在一台LAN计算机中设置git服务器。一旦您准备好了本地git回购,您就可以向团队成员授予访问权限
要将本地服务器同步到中央服务器,请使用两个远程设备设置一个本地副本。然后,您可以简单地从本地服务器git pull
获取本地更改,并git push
到中央服务器。您可以通过使用无密码短语的密钥对访问两台服务器来安排此任务
有关设置多个git遥控器的更多详细信息,请参见“是的,您可以”,因为as是一个。任何克隆的存储库都可以用作其他存储库的源(目标)
假设您想为名为main.git的“主”存储库创建一个代理存储库
git clone --bare path_to_main_repo/main.git path_to_proxy_repo/proxy.git
git clone path_to_proxy_repo/proxy.git path_to_working_repository/working_repository
然后,您可以从工作存储库
推送到代理
,从代理
推送到主
存储库
请记住在使用GIT时,任何给定的存储库都可能扮演主目标/代理/orAnythingElse存储库的角色 是的,你可以,因为as是一个。任何克隆的存储库都可以用作其他存储库的源(目标)
假设您想为名为main.git的“主”存储库创建一个代理存储库
git clone --bare path_to_main_repo/main.git path_to_proxy_repo/proxy.git
git clone path_to_proxy_repo/proxy.git path_to_working_repository/working_repository
然后,您可以从工作存储库
推送到代理
,从代理
推送到主
存储库
请记住在使用GIT时,任何给定的存储库都可能扮演主目标/代理/orAnythingElse存储库的角色 如果我理解正确,您希望对git回购A进行初始更改 一旦达到某一点(里程碑、日期等),对回购a的所有变更都将应用于回购B 大多数开发团队通过单一的回购和分支来实现这一点 然而,你可以在任何你喜欢的地方设立分支机构 手册页中有一个关于
git remote
命令的示例
EXAMPLES
· Add a new remote, fetch, and check out a branch from it
$ git remote
origin
$ git branch -r
origin/master
$ git remote add linux-nfs git://linux-nfs.org/pub/linux/nfs-2.6.git
$ git remote
linux-nfs
origin
$ git fetch
* refs/remotes/linux-nfs/master: storing branch 'master' ...
commit: bf81b46
$ git branch -r
origin/master
linux-nfs/master
$ git checkout -b nfs linux-nfs/master
您的reposa可能与上面示例中的linux-nfs类似。这样做之后,git merge就可以用来合并这两个如果我理解正确的话,您希望对git回购进行初始更改 一旦达到某一点(里程碑、日期等),对回购a的所有变更都将应用于回购B 大多数开发团队通过单一的回购和分支来实现这一点 然而,你可以在任何你喜欢的地方设立分支机构 手册页中有一个关于
git remote
命令的示例
EXAMPLES
· Add a new remote, fetch, and check out a branch from it
$ git remote
origin
$ git branch -r
origin/master
$ git remote add linux-nfs git://linux-nfs.org/pub/linux/nfs-2.6.git
$ git remote
linux-nfs
origin
$ git fetch
* refs/remotes/linux-nfs/master: storing branch 'master' ...
commit: bf81b46
$ git branch -r
origin/master
linux-nfs/master
$ git checkout -b nfs linux-nfs/master
您的reposa可能与上面示例中的linux-nfs类似。完成此操作后,可以使用git merge来组合这两个库
基本上,你启动了一个新的git裸回购,就像
git init --bare
使用将每个开发人员的此存储库添加到远程
git add remote upstream_intermediate_bare path/to/bare/repo
然后使用
git push upstream_intermediate_bare branch_name
接下来,在您的官方git回购中,添加另一个远程
git add remote downstream_intermediate_bare path/to/bare/repo
git pull downstream_intermediate_bare branch_name
对于仅用作推拉源的远程存储库的常见情况,裸存储库非常重要。检查
编辑:示例
因此,在上面的例子中,开发人员代码位于目录dev1中,他将代码推送到一个裸存储库中,您无法在其中执行拉或推操作,您必须将其添加到遥控器中并对其进行操作,而正式的repo只从裸存储库中进行拉操作。尝试使用裸存储库()
基本上,你启动了一个新的git裸回购,就像
git init --bare
使用将每个开发人员的此存储库添加到远程
git add remote upstream_intermediate_bare path/to/bare/repo
然后使用
git push upstream_intermediate_bare branch_name
接下来,在您的官方git回购中,添加另一个远程
git add remote downstream_intermediate_bare path/to/bare/repo
git pull downstream_intermediate_bare branch_name
对于仅用作推拉源的远程存储库的常见情况,裸存储库非常重要。检查
编辑:示例
因此,在上面的例子中,开发人员代码位于目录dev1中,他将代码推送到一个裸存储库中,您无法在其中执行拉或推操作,您必须将其添加到您的遥控器中并对其进行操作,而正式的repo只从裸存储库中进行拉操作。假设在一个项目中工作。您只需从master中提取代码,然后打开新的分支:
git pull origin master
git checkout -b new-branch
...
现在,您可以推动您的分支,或者在推动某些提交之前开始在其中工作
...
git add .
git commit -am 'I am pushing in bew-branch'
...
git add .
git commit -am 'I am pushing in bew-branch'
...
您的分支中有一些功能(主分支中没有),您是第一个在此分支中有工作人员的开发人员,因此。。。你可以把它推到原点
...
git push origin new-branch
...
现在存在一个名为“origin/new branch”的分支,所有开发人员都可以从该分支中提取。现在,您继续在locasl分支中提交:
...
git add .
git commit -am 'I am pushing in bew-branch'
...
git add .
git commit -am 'I am pushing in bew-branch'
...
其他开发人员推送了一些代码,现在您需要拉
...
git pull origin master
...
Fix merge
...
git push origin new-branch
...
最后,您可以将所有提交都放在master中
...
git checkout master
git merge new-branch
git push origin master
结束。假设在一个项目中工作。你只需要拉代码