标签: version-control

并发word文档协作

我和我的同事正在使用 Microsoft Word 编写大型规范

在最初的几周里,我们都在单独的部分工作,并将它们整理在一起形成一个单一的规范。

现在,我们需要合并审查意见。

您将如何处理对 Word 文档的并发编辑?

注意:我们确实有 SVN,理论上我可以在文件上设置需求锁定标志,以防止浪费精力处理无法自动合并的文件

version-control svn microsoft-word

8
推荐指数
2
解决办法
1556
查看次数

MP3 的版本控制?

我有很多“二进制媒体”,我将它们抽象为“MP3”。我还有几台电脑,我想把整个图书馆都放在上面——台式机、媒体盒、笔记本电脑等等。简而言之,能够将所有这些机器与每台机器同步会很好其他使它们都具有相同的文件堆栈。

一个版本控制系统,与 rsync/robocopy lashup 相反,粗略的感觉似乎是要走的路。首先,涉及多个操作系统(Windows、Mac、Linux 版本)。其次,如果在更新 ID3 标签等时,系统可以只更新文件增量,而不是重新复制整个文件,那就太好了。(最后,能够通过互联网而不是局域网更新图书馆会非常酷。)

但是你的经典 CVS/SVN 系统有一个明显的缺点,那就是需要一个完整的存储库才能工作,而且我真的不希望我的 60gb+ MP3 文件夹的两个副本放在某处的机器上,以及传统上不非常处理二进制增量好。

所以,分布式版本控制在这一点上开始听起来不错。 Mercurialgitbazaar在纸面上看起来都不错,但我对它们中的任何一个都没有任何经验。有没有人尝试用其中任何一个设置“仅限二进制”的 DVCS?有什么建议吗?陷阱?

mp3 version-control

8
推荐指数
2
解决办法
906
查看次数

检出 git 存储库的一部分

我怎样才能检查出只是一个部分一个Git仓库的?我有一个包含多个模块的存储库,我只想在特定站点上安装其中一个模块。

在 Subversion 中,我会做svn export http://example.com/repository/path/to/module ./module-name.

version-control git repository

8
推荐指数
1
解决办法
8849
查看次数

您如何比较具有相同文件的多个文件夹以查找同一文件的所有不同版本?

我有 700 多个文件夹,每个文件夹中都有相同的 200 多个经典 asp 文件(基本上是文本文件)。多年来,许多人对这些 asp 文件进行了细微的更改。我需要一个实用程序(适用于 Windows),它可以比较所有文件夹和文件并识别相同文件的所有不同版本。

有人有建议吗?

windows diff version-control comparison

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

Windows 配置的版本控制

如何将我的 Windows 个人配置置于版本控制之下

总结(细节和例子如下):

  • 个人配置(例如桌面首选项),而不是系统配置(例如驱动程序);应该在没有管理员权限的情况下工作
  • 版本控制,而不是备份或磁盘映像

以下是我希望能够做的一些事情:

  • 将我的配置的当前状态提交到存储库,最好有一定的粒度(如果我做了两个更改,我希望能够提交一个而不提交另一个)。
  • 每当我提交时写一个变更日志条目,并查看每个配置文件的变更日志条目列表。
  • 查看当前状态和存储库版本之间的差异。
  • 在新的 Windows 机器上从我的存储库中检出并重现我的配置(至少如果新机器具有相同版本的 Windows)。

<add1> 我不会试图给“配置”一个完全精确的定义;我试图涵盖所有类型的个人偏好(例如,在没有管理员权限的情况下在控制面板中设置的任何内容,我的用户特定的“程序”菜单中的快捷方式,......)。我不想包含我的文档或已安装的应用程序。 </add1>

<add2> 请注意,我的目标是我的个人配置,而不是系统配置(这也很有用,但这不是这个问题的目的)。例如,我希望解决方案无需管理员权限即可工作。 </add1>

我在 unix 中所做的是将(选择)我的dot 文件置于 version control 之下。在 Windows 下,我认为我应该在Application Data. 我想要比将整个注册表文件置于版本控制之下更好的东西(这不够细化,而且我担心锁定问题)。<add1>理想情况下,我会使用一些常见版本控制软件(Bazaar、CVS、Darcs、Git、Mercurial、Subversion 等)的包装器或脚本,但这不是绝对要求。</add1>

我目前需要使用 Windows 2000 和 Windows XP。由于这是用于工作机器,因此无法使用付费软件(开源将是理想的选择)。与 GUI 相比,我更喜欢命令行。

<add1> 这是一个示例工作流程:

  • 有一天,我决定将桌面背景设为粉红色。所以我通过 GUI 进行更改。这会修改注册表中配置文件项中的一行。然后我提交更改,以跟踪它。
  • 后来我想知道为什么我的桌面背景是粉红色的。所以我在更新日志中搜索“桌面颜色”。
  • 有一天我需要使用一台新机器。所以我从我的配置存储库中查看,瞧,粉红色的桌面。

以下是我不想做的一些事情:

  • 我不是要备份。我希望能够跟踪更改(通过语义,或者至少是语法,而不仅仅是通过日期),并在机器之间共享信息(一个存储库,多个结帐)。

  • 我不是要复制 Windows 安装。我不想携带硬件依赖项、已安装的应用程序或文档。

</add1>

windows windows-registry version-control

8
推荐指数
1
解决办法
1427
查看次数

Git 相当于 hg 更新

我已经使用 Mercurial 一段时间了,并且已经习惯了它的工作流程。突然间,我需要使用 Git 存储库,而我无法从头版进行安装。在 Mercurial 中,我只会更新到较早的修订版并继续使用,但我不知道如何在 Git 中执行此操作。

那么,如何在 Git 存储库中恢复到早期状态?

version-control git mercurial

8
推荐指数
1
解决办法
1776
查看次数

一旦上游合并,从 github fork 中删除分支是否安全?

我最近才尝试在 github 中分叉,并希望获得一些“最佳实践”建议。

我在 fork 中创建了一个分支,该分支被拉入上游项目的 master。它不再出现在网络图中,但它仍然存在于 github 上。我现在删除分叉上的这个分支安全吗?

编辑:为了澄清,我正在检查这是否与 github 的“不更改历史”规则冲突。

version-control git github branch

8
推荐指数
2
解决办法
4955
查看次数

用户友好的修订控制系统

我正在寻找一个用户友好的修订控制系统,我和我的非技术妻子都可以使用它。我尝试过 subversion 和 perforce,但发现它们过于复杂,有些事情无法通过 GUI 完成。它只能在 Windows 客户端和本地网络上使用。我想将主存储库存储在我的 Windows 家庭服务器上。免费是最好的,但如果它是好的软件,消费者使用的合理价格也可以。提前致谢。

编辑: 我得到了很多不合适的解决方案,我认为这是因为我在开篇文章中不清楚。我想使用该工具的主要原因是软件源代码控制管理(也适用于二进制文件,例如 Word 和 Excel 文件),因此它需要支持分支、合并和发布管理等内容。虽然我将是主要用户,但妻子也需要使用该工具,但她不会技术。但是,她精通计算机,可以使用用户友好的软件来解决问题。

我发现 subversion 和 Perforce 的主要问题是需要为源存储库中的位置输入路径时,有几个位置。一个简单的 GUI 浏览位置本来是完美的,但那些特定区域需要用户在文本框中手动输入路径,几乎没有确认它是否有效。

如您所见,Dropbox 之类的文件同步软件即使支持文件版本控制,也不适合于此。

version-control

8
推荐指数
2
解决办法
1671
查看次数

重新设置公共分支

我无法理解如何使用git-rebase,我考虑了以下示例。

让我们在 中启动一个存储库~/tmp/repo

$ git init
Run Code Online (Sandbox Code Playgroud)

然后添加一个文件 foo

$ echo "hello world" > foo
Run Code Online (Sandbox Code Playgroud)

然后添加并提交:

$ git add foo
$ git commit -m "Added foo"
Run Code Online (Sandbox Code Playgroud)

接下来,我启动了一个远程存储库。在~/tmp/bare.git我跑

$ git init --bare
Run Code Online (Sandbox Code Playgroud)

为了链接repobare.git我跑了

$ git remote add origin ../bare.git/
$ git push --set-upstream origin master
Run Code Online (Sandbox Code Playgroud)

接下来,让我们分支,添加一个文件并为新分支设置一个上游b1

$ git checkout -b b1
$ echo "bar" > foo2
$ git add foo2
$ git commit -m "add foo2 in b1"
$ git …
Run Code Online (Sandbox Code Playgroud)

version-control git

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

在将文件发送到云之前加密文件

最近我切换到 GIT 并选择了 bitbucket 来托管我的代码。

现在有了所有斯诺登丑闻,我决定重新审视我的选择。

真的不想在我自己的服务器上托管我的数据,我宁愿继续使用 bitbucket。

我对 bitbucket 本身只有好话,但我只想确保我的私人数据(源代码)保持这种状态。

我知道很多人将 TruCrypt 与 DropBox 一起使用,我想知道这对 bitbucket 是否可行(即强制 git 在发送到 bitbucket 之前透明地自动加密源代码和文件),如果有人可以分享如何做到这一点?我用谷歌搜索了很多,但找不到正确的方法来做到这一点。

encryption version-control git privacy cloud

7
推荐指数
1
解决办法
2909
查看次数