相关疑难解决方法(0)

使用git子模块进行不安的开发生活

我试过git子模块.虽然它可以解决我在项目中共享存储库的问题,但是使用子模块有两个问题困扰我:

  1. 如果子模块内容已提交更改,则子模块文件夹需要提交.
  2. 分支设置不会传播到子模块中.如果分支中的工作跨子模块,我们必须在子模块中手动切换分支.

这两个问题很容易在日常开发工作中引入错误.我发现git奴隶可以解决我的问题.

使用git slave有任何副作用吗?

或者是否有良好的做法可以避免git子模块中的上述问题?

git

5
推荐指数
1
解决办法
537
查看次数

如何在 Xcode Workspace 中使用多个项目配置 GIT 存储库

这更多的是一个什么是正确策略的问题,而不是“如何做”的问题,因为我已经有了 GIT 手册。

我有一个 Xcode 工作区。它包含3个子项目。

  1. iPad应用程序
  2. iPhone应用程序
  3. 共享代码和资源(png等)

我一直在考虑创建 GIT 存储库,但正在寻求一些关于设置这些存储库的最佳策略的建议。

对于每个子项目,我很可能有多个分支,并且需要对“app”子项目的每个分支使用哪个版本的共享代码进行一些控制。

目前,我合并共享代码的方式是将对该文件的引用复制到“app”项目中。我不确定这是否是最好的前进方式,因为我不确定如果我需要共享代码的多个分支会发生什么。

如果有人有类似的设置并可以提供建议,我将不胜感激。

git workspace xcode4

5
推荐指数
1
解决办法
3126
查看次数

Git与ClearCase中的只读组件有什么相同之处?

我的公司正在将我们的版本控制工具从Rational ClearCase更改为Git.我们有以下开发方案,我们很好奇Git是否有适当的模式来实现我们在ClearCase中的相​​同行为.

以下是关于我们情况的一些基本观点:

  1. 我们有许多独立的应用程序.我们称之为AppA,AppB和AppC.
  2. 我们还有一些所有项目共有的文件(构建脚本等).我们称之为工具.
  3. 对于AppA,AppB或AppC代码的任何给定剪切,我们需要特定的工具代码剪切.
  4. 我们的大多数开发人员从不修改工具代码.

对于ClearCase,我们这样建模:

组件:app_a,app_b,app_c,工具

项目:AppA,AppB,AppC,工具

Project AppA包括app_a作为读/写组件,工具作为只读组件.

Project AppB包括app_b作为读/写组件和工具作为只读组件.

Project AppC包括app_c作为读/写组件和工具作为只读组件.

项目工具包括作为读/写组件的工具.

App*项目的每个基线都引用app_*和工具组件的基线.当开发人员重新定义到建议的基线时,他们会从两个组件中获取更改.

对于Git,我们认为子模块可能是最接近正确答案的东西.但是,在提取/重新定位存储库时,听起来需要额外的步骤来更新子模块代码.理想情况下,我们希望透明.此外,我们不一定关心从父存储库的角度知道子模块中发生了什么变化; 我们只关心整个子模块的某个时间点.

git clearcase git-submodules

5
推荐指数
1
解决办法
278
查看次数

GitHub wiki 由主存储库管理

我想在开发代码的同时管理我的项目的 GitHub wiki。例如:

分支机构

  • master(稳定版本)
    • 开发(下一版本的开发)
    • 其他...(可能的其他开发/功能分支)

理想情况下,我希望 wiki 包含在项目的子文件夹(例如 /wiki)中。然后,当我更改代码时,我还可以同时更新 wiki(代码 + 文档更改)。这也意味着我的所有开发代码和文档都将独立于“develop”分支中,直到我与“master”分支合并。希望即使是通过手动流程,GitHub wiki 也会在与 master 合并后进行更新以反映更改。

我查看了 Git 的子模块功能,但据我了解,这通常指向单个修订版。我想以某种方式跟踪我的代码开发,以便分支和合并可以正常工作。

wiki github repository

5
推荐指数
1
解决办法
957
查看次数

如何处理 git 存储库的元存储库?

给定项目目录中的 git 存储库树,例如

Projects/
+A/
|+.git/
+B/
|+.git
Run Code Online (Sandbox Code Playgroud)

我想设置一个 git 存储库Projects.git,它不跟踪项目的内容,而只跟踪它们的存在和状态。克隆这个存储库的人应该只有一个未克隆的存储库等的骨架AB并单独激活它们是否保持同步。典型的工作流程如下所示:

  • 首次设置: git clone server:Projects.git
  • Activate project A,它也会克隆它
  • 现在每个git-push/pull,独立于它是否在Projects/Projects/A应该更新两者A.git Projects.git关于 的信息A。任何相关的都B应该被忽略,因为它是不活动的并且本地是空的
  • 激活项目B,也克隆它
  • 现在 any git-push/pullinProjects也应该在Aand 中这样做B,而推/拉A不应该影响B
  • Deactivate project A,它(验证后A.git不需要a git-push)清空本地目录A,不影响Project.git

怎样才能最好地治疗?我目前的方法是一些钩子魔术,但我对git 子模块不够熟悉,看不到这是否可以通过子模块来实现,或者我是否需要使用其他一些解决方案。

git

5
推荐指数
2
解决办法
6252
查看次数

git嵌套存储库 - 子模块与符号链接与其他

我正在尝试使用git设置我的(Zend Framework)开发环境(或者更重要的是我的目录结构).但是,我的基本问题实际上与所涉及的特定库无关,但更重要的是如何让git完成我想要的东西.

我打算让我的项目根目录/home/jsuggs/project.
我还将与Zend Framework(ZF),Doctrine和其他库一起工作,但我只关注ZF,因为一个解决方案可能与其他库的解决方案相同.

我将克隆ZF2存储库/home/jsuggs/zf2.
我想/home/jsuggs/project/application/library/Zend参考一下/home/jsuggs/zf2/library/Zend.

我希望能够在两个存储库(项目和zf2)上本地工作,其中zf2中的切换分支直接影响项目.

我的问题是我如何设置Git,以便深层嵌套的库可以在开发期间引用我的本地版本,但也可以在部署到生产中时设置为(其他/任意)位置?

我还想避免路径是绝对的,所以如果其他人在项目上工作,那么库路径将不会引用我的主目录.

我正在研究使用符号链接和git子模块,但想知道这种类型的设置是否有"最佳实践".而且,我完全有可能做错了所以请随意说"只做X".

git

4
推荐指数
1
解决办法
3329
查看次数

防止某些提交/代码合并到主服务器

对于我正在进行的项目,我们决定开发一个工具来帮助开发,因此这不应该在生产中.
所以我想知道,因为git非常棒,如果有一个功能可以阻止某些文件(是的,只有文件:这是一个Magento项目,我们要开发的工具将在他自己的模块中,没有交集应用程序的其余部分)将合并为master,但应该在其他分支中可用.
我们正在考虑使用git-flow,如果这有帮助的话.所以我们将拥有主人,我们将从中创建开发,从中创建我们所有的功能分支.我们的想法是让这个模块开发,但永远不会合并回主人.

我现在在想,只是在主分支中忽略那些文件(.gitignore),这会有用吗?

编辑1:项目结构
我觉得我必须提供有关项目结构的更多信息,它来了:

+ main_folder/
    + magento/
    |---+ app/
    |   |--+ code/
    |   |  |--+ community/
    |   |  |--+ core/
    |   |  |--+ local/
    |   |     |--+ Namespace1/
    |   |        |--+ Module1/
    |   |        |--+ Module2/
    |   |     |--+ Namespace2/
    |   |        |--+ Module1/
    |   |        |--+ Module2/
    |   |--+ design/
    |   |  |--+ frontend/
    |   |     |--+ default/
    |   |        |--+ default/
    |   |           |--+ layout/
    |   |           |--+ template/
    |   + …
Run Code Online (Sandbox Code Playgroud)

git merge magento git-merge git-flow

4
推荐指数
1
解决办法
737
查看次数

在Go项目中初始化git的位置

作为Go的初学者,我不知道initGit 在哪里.

这里的文档https://golang.org/doc/code.html似乎在早期的hello目录之外建议,然后告诉我git inithello目录中运行.

对此提出任何建议都是有用的.

go

4
推荐指数
1
解决办法
750
查看次数

Git 子模块分离头状态

我在项目中添加了 2 个子模块,subA 和 subB,位于 externals/subA 和 externals/subB 中。

今天,另一位团队成员提交了他的代码,当它被拉取时,在git statusexternals/subA 和 externals/subB 中使用时,subA 和 subB 都显示分离头状态。

我先做了git submodule update,没有报告任何错误。我一次又一次地尝试,git submodule initgit submodule update它没有改变。

我们如何才能使子模块恢复同步?子模块出现这种情况的原因是什么?自我们开始以来,这是第一次出现问题。谢谢。

git git-submodules git-detached-head

4
推荐指数
1
解决办法
6955
查看次数

如何使用git同步多个项目?

我有这样的目录结构:

|-- ROOT
    |-- Project1
    |   |-- application
    |   |-- img
    |   |-- js
    |   |-- css
    |   `-- system
    |
    |-- Project2
    |   |-- application
    |   |-- img
    |   |-- js
    |   |-- css
    |   `-- system
    |-- Project3
    ....
Run Code Online (Sandbox Code Playgroud)

根文件夹包含总共x个项目:"Project1","Project2","Project3"等.

现在我想在"system","css"和"js"上使用git.每个项目的这些文件夹应该相同.那么如何用git同步所有项目呢?

我猜想要创建一个"主项目"并在那里推出新的修改并将新版本提升到所有其他项目.但这是一个**的痛苦..

我想要的是运行一些命令/批处理文件来同步所有.例如,如果我有6个项目并且我在项目1中修改了某些内容,我怎么能快速地对所有项目进行修改(而不是将Project1推送到"Master"并拉动它5次)?

可能吗?

只是为了记录我正在使用Windows机器.

上一个问题:多个项目之间的Git

git project-management synchronization

3
推荐指数
1
解决办法
950
查看次数

git子模块中的Checkout分支

如何在子模块中更改分支?当我git branch从子模块中运行时,我看到以下输出:

> git branch
  * (HEAD detached from 229a7b2)
  master
Run Code Online (Sandbox Code Playgroud)

我将如何进入新的分支?喜欢development吗?

git

3
推荐指数
1
解决办法
5505
查看次数

版本控制:管理公共组件源

如何管理DVCS中的公共库源?

目前,我的团队使用Perforce来管理我们的软件项目.使用Perforce的"工作区映射"功能,我能够轻松地将公共库源映射到开发应用程序目录,以保持源管理和开发项目工作之间的转换透明.例如,Repository看起来像这样:


SCM树结构

    • 应用
      • ForumSite
      • AdminTool中
    • 共同
      • event.logger
      • json.parser
    • D b
      • 用户
      • SiteConfiguration

由于漂亮的P4映射功能,我们的开发人员可以使用工作空间映射以最有意义的形式为他们所处理的项目提取一整套源代码.典型的dev项目文件夹可能如下所示:


DEV项目文件夹

/projects
    /FALL-2009
        /ForumSite
            /deps
                /event.logger
                /json.parser
        /AdminTool
            /deps
                /event.logger
                /json.parser
        /Users-db
        /SiteConfiguration-db
    /FALL-2009-PATCH-01
        /json.parser
        /SiteConfiguration-db
    /FALL-2009-PATCH-02
        /AdminTool
            /deps
                /event.logger
                /json.parser
        /SiteConfiguration-db
Run Code Online (Sandbox Code Playgroud)

当dev编辑任何他/她的组件或应用程序中的源时,更改将映射回正确版本点的右源控件目录.这对开发人员来说是透明的,降低了管理的复杂性和设置新项目的时间.

我正在研究Git,Bazaar和Mercurial作为Perforce的潜在替代品.任何人都可以深入了解DVCS世界中常见组件源的处理方式吗?

git version-control mercurial bazaar

2
推荐指数
1
解决办法
911
查看次数

在一个存储库Github中添加多个项目

我正在尝试从Macbook的Github桌面在一个存储库中添加多个项目,但无法完成.

尝试提交时显示此错误无法将文件subfoldername /添加到索引.

我试图找出并阅读一些答案,但也没有在终端上工作.我从这里试过的另一个.

我已将所有文件夹添加到一个文件夹主存储库中,然后尝试添加.

有没有其他方法可以从Github桌面上做到这一点?

或者我错过了什么.有人有想法请提出建议.

提前致谢.如果有人给我一些更好的解决方案,我将不胜感激.

git github github-desktop

2
推荐指数
1
解决办法
7802
查看次数