【问题标题】:What is the right way to import an Android Studio project in a SVN repository?在 SVN 存储库中导入 Android Studio 项目的正确方法是什么?
【发布时间】:2015-01-11 13:57:34
【问题描述】:

我正在尝试在我的 SVN 存储库中导入一个 Android Studio 项目。 我显然尝试过

VCS->导入版本控制->导入Subversion...

但问题是,即使取消选中Include ignored resources 框,该软件基本上仍将项目文件夹中的所有文件上传到SVN。 我也尝试过Share Project (Subversion),但它不上传任何东西(只是创建远程文件夹):当我尝试提交时,它想像导入选项一样上传所有文件。

我也尝试过使用 svn:ignore 属性,但运气不佳。

我的问题是:

  1. 最好的方法是什么?
  2. Android Studio 不应该自动处理这些事情吗?如果不是,为什么?

感谢您的帮助。

【问题讨论】:

    标签: android svn android-studio


    【解决方案1】:

    我按照这些步骤操作,我已成功将 android 项目导入 subversion 存储库。

    (1) 启用 VCS 集成(在 VCS 下)

    (2) 设置 -> 版本控制 -> 忽略文件(在此处添加 .gitignore 文件中的文件、文件夹) - 应该如下图所示。在此之后,您可以看到被忽略的文件以单独的颜色(如黄色)和其他需要添加到颠覆的文件以另一种颜色(红色)

    Type intellij here and it will give you the ignored file list

    (3) VCS -> Import Into Version Control -> Import into Subversion(我使用的是subversion)。选择父文件夹,而不是app文件夹。

    (4) 在对话框中取消选中“包含忽略的资源”,然后导入

    (5) 最后将项目签出到同一个项目文件夹中。在此之后,添加到远程存储库的文件的颜色(红色)将消失。

    注意:您可以在提供存储库位置后创建一个新的远程文件夹(VCS -> Browse VCS Repository -> Browse Subversion Repository)

    【讨论】:

    • 这应该如何工作?即使未选中“包括忽略的资源”,这个愚蠢的 IDE 也会检查被忽略的文件。尽管如此,我尝试了您的方式,但这也不起作用。我无法签出工作副本(错误消息)。
    • @Bevor 您需要将不想被版本化的文件放入 igonred 文件列表中,如上图所示。如果您戴上面具,请记住添加星号(它不包含在图片中)。所以它应该是这样的:*.txt、*.log 等。
    • 就像 Bevor 一样,IDE 检查了所有内容,包括所有生成的文件。忽略文件根本不起作用。
    • 我同意 Bevor,这行不通。不过感谢您的回答。
    【解决方案2】:

    你在正确的轨道上, svn:ignore 是一个模板/列表,用于定义颠覆应该忽略的文件。如果您在 Windows 上执行此操作,我建议使用免费的 TortoiseSVN 客户端,该客户端具有很好的资源管理器集成 GUI,可以让生活更轻松。只需右键单击文件 -> TortoiseSVN -> 添加到忽略列表。

    另外,刚刚在这里找到了一个帖子,其中包含您项目的实际 svn:ignore 列表: What files should I add to SVN ignore in an Project using Android Studio

    根据 cmets 编辑,添加列表:

    gradle
    .idea
    *.iml
    build
    .DS_Store ( => for mac only)
    

    【讨论】:

    • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能会失效。
    • 感谢 Andrew,编辑了答案并复制了列表。
    • 然后立即收到了反对票,这到底是什么:)
    • 不是我,但我会帮助解决问题。
    • 哈哈 :) 别担心,但是谢谢!也许它会在一次编辑太多时自动发生。我是一个新人,还在搞清楚这一切是如何运作的。
    【解决方案3】:

    添加相反的意见;我发现忽略文件是错误的方法。导入 SVN 似乎完全忽略了 Ingore 列表并检查了所有内容..

    我用的是 Tortoise SVN,建议不要使用 import,Import in Place

    在 Tortoise 资源管理器弹出窗口中:

    • TortoiseSVN -> 浏览存储库:在存储库中创建一个文件夹作为您的项目根目录。
    • TortoiseSVN -> 签出:在项目根目录上签出根文件夹(并忽略您正在签出到非空目录的警告。)
    • 在构建文件夹 -> TortoiseSVN -> 添加到 Ingore 列表(可能不是严格需要,但生成的文件更少,使后续步骤更容易。)
    • TortoiseSVN -> 添加,然后您可以选择单独的目录和文件。 This was the best list of files/directories to ignore

    然后在 Android Studio 中:

    • (如果尚未启用,请在 VCS 菜单中启用 VCS 功能)
    • Commit Changes,它将同步文件状态,并且似乎从 Tortoise 获取了 Add change 列表中的文件。 (我对上述答案的胡思乱想可能让 AS 处于一种奇怪的状态,所以希望这对你有用!)

    【讨论】:

      【解决方案4】:

      这些步骤对我有用(使用 Mac):

      1. 启用 VCS 集成
      2. 在 Android Studio / Preferences / Version Control / Ignored Files 中设置忽略文件 目录:.gradle/ 目录:.idea/ 掩码:*.iml 目录:构建/ 掩码:.DS_Store 目录:app/build/

      3. 左上角,将下拉菜单从“Android”更改为“Project”

      4. 在 Android Studio 中关闭/重新打开您的项目。确保忽略的文件不是红色的。
      5. 右键项目名称,点击Subversion / Share Directory
      6. 选择正确的目标路径,选择1.6
      7. 您应该会收到一个提示,告诉您提交以完成该过程。
      8. 右键项目,Subversion / 提交目录,提交

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-09-14
        • 2016-03-26
        • 2014-12-08
        • 2015-10-25
        • 1970-01-01
        • 2015-04-28
        • 1970-01-01
        相关资源
        最近更新 更多