我们有两层设置.
我们有一个主存储库(下面称为"主要").
还有一个二级存储库(下面称为"二级"),它是这样创建的:
$ git clone --bare --shared $REPO_A/primary secondary.git
Run Code Online (Sandbox Code Playgroud)
在辅助存储库上工作的人将来自主存储库的分支视为只读,但是将这些分支基于这些分支.
我们希望每天一次将辅助存储库与主存储库同步.
也就是说,我们希望提交到主服务器的提交和新分支对于在辅助存储库中工作的人员是可见的(下次他们执行拉动).
我们不希望这是对称的,即对于在主存储库之外工作的人来说,对辅助存储库的活动不会变得可见.
理想情况下,我想运行一台运行在机器上的cron作业,该辅助存储库以某种方式从主服务器获取新数据并自动将其包含到辅助服务器中.
我希望有一个简单的方法可以做到这一点(我希望有人在这里告诉我有).
如果我要写一个脚本来做它,它会做:
创建辅助的新克隆.
$ git clone $REPO_B/secondary
$ cd secondary
Run Code Online (Sandbox Code Playgroud)获得所有分支机构.
$ git branch -r | sed 's?.*origin/??'
Run Code Online (Sandbox Code Playgroud)获取主要仓库中的所有分支.
$ git ls-remote --heads $REPO_A/primary | sed 's?.*refs/heads/??'
Run Code Online (Sandbox Code Playgroud)对于我尚未拥有相应辅助分支的每个主分支:
$ git fetch $REPO_A/primary $BRANCHNAME:$BRANCHNAME
$ git push origin $BRANCHNAME:refs/heads/$BRANCHNAME
Run Code Online (Sandbox Code Playgroud)对于我已经拥有相应二级分支的每个主分支:
$ git checkout -b $BRANCHNAME --track origin/$BRANCHNAME
$ git pull $REPO_A/primary $BRANCHNAME
$ git push
Run Code Online (Sandbox Code Playgroud)由于我是git的新手,如果我没有考虑某些基本问题,我不会感到惊讶吗?
就像我说的那样,我希望有一种更简单的方法可以做到这一点,即有人说"哦,不要那么做,只做......".
我对GIT的版本控制有点新意.我阅读本指南并遵循此处图中显示的基本方法.不过,我对如何使用git分支将新功能的开发与现有代码分开存在疑问.
这是一个例子.假设在开始时,我的存储库包含以下两个主要分支:
当我需要开发新的功能或模块时,我从Develop创建分支并在那里启动新的代码项目.例如,我做了三个新的分支,以增加相关的功能Sun
,Star
以及SuperNova
.现在,我的存储库包含五个分支:
对于1.0.1版,我想包含Sun
和Star
模块,但不是SuperNova
.所以,我将它们与Develop合并,然后将Develop与Release合并:
develop分支需要被永久保存,但Sun
和Star
分支机构不再需要.他们被删除:
完成这些更改后,我的存储库包含以下三个分支:
==
首先,我正确使用git分支吗?
其次,我回顾了最终开发分支的历史,似乎我已经丢失了一些关于NewModules
.这是正常的吗?并且,是否可以将所有历史信息传输到Develop分支?
谢谢!!
我最近需要编写git hooks,用于引用特定票证的所有提交.
我希望有一个地方可以开始学习.pro git书中的所有内容都是用Ruby编写的.由于Ruby不是我强大的西装,任何人都可以分享有关用其他语言编写的git hook的教程吗?(我特别喜欢Python或Bash脚本.)
所以我和我的一个朋友想要开始编程并让Git作为我们的服务器,这样我们就可以轻松地"跟踪"并控制我们的项目.问题是,我只能在私人服务器(Windows)上找到关于Git的旧帖子.我想知道是否有任何关于将计算机作为我们的服务器的指南或任何提示我们都使项目成为私人(私人回购),同时能够在与服务器相同的位置或在其他位置工作作为家庭,咖啡等...我已经尝试过GitStack,但我无法将其投入使用(可能由于错误的配置,我对此还很新).在与Git集成的程序方面,你们有什么建议将Windows计算机作为服务器?
---这条线在2013年非常糟糕---
当存储库主要由单个开发人员访问时,是否值得从SVN转到GIT?我有几台机器用于开发,而不是主要用C#开发.但我在我的存储库中混合使用VB,VB.Net,PHP,C#,C++,HTML,Batch,BASH等等.通过从SVN迁移到GIT,我将获得什么?现在使用TortoiseSVN + VisualSVN Server与一组中央存储库和几个客户端机器.虽然我已授予一些朋友访问我的存储库的权限,但他们并不经常更新或提交(如果有的话).
还有一种方法可以使用VisualSVN Server + TortiseSVN和Git获得灵活性和易维护性吗?
((我会咬一口......对于一个开发者/小组来说,其他平台和技巧会引人注目吗?)
请列出优点和缺点,而不仅仅是单方面的意见.
当前工具链... Visual Studio 2008(C#/ VB.Net)+ TortoiseSVN + VisualSVN
主要焦点... XNA游戏,WCF /套接字服务,Web开发
我在这里阅读了很棒的git教程,我无法创建目录.
我的文件夹结构是:
代码 - Python - C++ - F# - ...
在初始化的本地存储库"代码"中,我更改为子文件夹"Python","C++",...确实git init
,现在我想在我的版本控制服务器上使用相同的结构.
% git commit -m "added directories"
# On branch master
nothing to commit (working directory clean)
Run Code Online (Sandbox Code Playgroud)
我想我得到了一些完全错误的东西,是吗?
谢谢,愿
我试图将以下内容包含在我的〜/ .profile中失败:
export PATH='$HOME/opt/git/bin'
Run Code Online (Sandbox Code Playgroud)
似乎没有用,因为$ git什么都没给我.我正在尝试安装Git.
我也在这里试过命令.
我一直在计算机上的laravel5项目,但现在我想继续在另一个,但不知道如何:(
我正在使用wampserver,项目位于"www"文件夹中,这是我在尝试打开项目时遇到的错误:"内部服务器错误
服务器遇到内部错误或配置错误,无法完成您的请求"
提前抱歉,如果世界某处已有答案,但我已经3小时尝试在我的PRODUCTION服务器上安装,而且我没有到达任何地方.
我的需求:
我想在我的服务器上运行git命令(例如:push,commit等).为了做到这一点,我需要"git"命令(呃!).
我尝试了什么:
试图遵循这个:http://oli.zilla.org.uk/2010/12/07/installing-git-on-debian-lenny.html
尝试下载源(http://packages.debian.org/lenny/i386/git-core/download)的.deb文件(http://ftp.de.debian.org/debian/pool/main/ g/git /)
问题:
404在试图获取源代码时:http://packages.debian.org/lenny/i386/git-core/download
下载软件包时,我尝试使用的所有存储库都给了我404
需要将libc6从2.7更新到2.9才能安装git-1.7.9,如下所示:
stewie:/tmp# dpkg -i git_1.7.9-1~bpo60+1_i386.deb
Selecting previously deselected package git.
(Reading database ... 20477 files and directories currently installed.)
Unpacking git (from git_1.7.9-1~bpo60+1_i386.deb) ...
dpkg: dependency problems prevent configuration of git:
git depends on libc6 (>= 2.9); however:
Version of libc6 on system is 2.7-18lenny7.
git depends on libcurl3-gnutls (>= 7.16.2-1); however:
Package …
Run Code Online (Sandbox Code Playgroud)