我想使用 sed 从命令中提取版本号:
svnversion --version
Run Code Online (Sandbox Code Playgroud)
这给出了如下输出:
svnversion, version 1.6.2 (r37639)
compiled May 10 2009, 12:41:21
Copyright (C) 2000-2009 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
This product includes software developed by CollabNet (http://www.Collab.Net/).
Run Code Online (Sandbox Code Playgroud)
用 sed 处理后,我只想:
1.6.2
Run Code Online (Sandbox Code Playgroud)
到目前为止,我有这个怪物(由于我的无知):
svnversion --version | sed s/[\wa-zA-Z//\(\):,]*//g | sed 's/[ ]//' | sed 's/[ ]//' | sed 's/[ ][0-9 ./n/-]*//'
Run Code Online (Sandbox Code Playgroud)
我确信专家可以轻松提供一个简单而优雅的解决方案。
我记得前段时间在 Ubuntu 论坛上读到过一个程序,可以自动将配置更改检查到版本控制中。它(当然)不是特定于 Ubuntu 的。我很确定它使用了Git,尽管它可能是Subversion,或者甚至可以使用多个不同的VCS。我的谷歌搜索没有任何结果,如果有人已经做得很好,我宁愿不推出自己的脚本。
当然,我可以手动检入,但有一些原因我希望它自动完成。(我实际上打算将它用于Safari 的LastSession.plist 文件,所以当 #@$%^*&! 事情崩溃时,我没有恢复所有内容,然后Leopard崩溃,事实是它有如此糟糕的会话管理并不意味着我会丢失打开的数十个选项卡的数十个窗口。)
我是 mercurial 的新手,在大多数情况下,使用 .csv 和/或 .sqlite 文件在 R 中进行 LaTeX 报告和统计计算。Re LaTeX,我真正关心的是 .tex 文件。Re R,我不需要对 .csv 或 .sqlite 文件进行版本控制,因为它们是静态的。
当我使用 .csv 和/或 .sqlite 文件为 repo 执行“hg add”时,我收到如下警告:
rev2.sqlite: up to 3070 MB of RAM may be required to manage this file
(use 'hg revert rev2.sqlite' to cancel pending addition)
Run Code Online (Sandbox Code Playgroud)
所以我恢复并随后使用添加像hg add -X *.sqlite. 我想我真的有两个问题:
(1) 我应该忽略这些警告吗?因为这些大文件是静态的,我可以在知道 diff 文件总是空的而不用担心浪费资源的情况下添加到 repo 中吗?
(2) 如果我应该继续从 repo 中排除这些文件,我可以修复这个选项吗?IE,向我的 .hgrc 文件添加一些总是附加一个选项的东西,比如-I *.tex -I *.R我的“hg add”命令?
谢谢!
我知道 SVN (Subversion) 存储文件的增量以有效地存储数据。然而,Git 稍微复杂一些。我想知道的是,如果我要存储纯 HTML、图像和 js 文件,并使用它们中的任何一个跟踪它们的更改,哪个会导致更好的存储效率,为什么?我对 HTML 文件特别感兴趣。起初应该没有太大区别。但是,随着网站的变化,尤其是首页的变化,差异应该是很明显的。
我可以同时尝试并比较它们,但是,需要很长时间才能看到任何真正的结果。因此,我决定看看哪个理论上应该更有效。
我正在尝试使用 Beyond Compare 3 作为我的 git 差异工具。我使用以下命令配置了 git:(来源:使用 Beyond Compare 与版本控制系统)
git config --global diff.tool bc3
git config --global difftool.bc3.path "c:/program files/beyond compare 3/bcomp.exe"
Run Code Online (Sandbox Code Playgroud)
我的配置现在似乎设置正确:
git config --global --list
Run Code Online (Sandbox Code Playgroud)
返回
help.autocorrect=1
core.editor='c:/program files/sublime text 2/sublime_text.exe' -w
core.autocrlf=true
color.ui=auto
diff.tool=bc3
difftool.bc3.path=c:/program files/beyond compare 3/bcomp.exe
Run Code Online (Sandbox Code Playgroud)
然而,当我跑
git difftool Readme.txt
Run Code Online (Sandbox Code Playgroud)
Powershell 想了想,然后显示一个新的提示。Beyond Compare 永远不会启动。我已经通过从 Powershell 和命令提示符启动 Beyond Compare 来验证路径是否正确。
我需要更改什么才能使其正常工作?
就像问题说的那样......我正在寻找一个免费的版本控制系统,它允许我从一个更大的项目中共享单个脚本。
那么,GitHub 或 BitBucket 可以做这样的事情吗?是否可以拥有一个包含许多脚本的公共存储库,并向某人发送用于下载单个脚本的链接?
我正在寻找 windows 程序,它可以在后台运行并存档所有文件的所有版本,因为它们出现在指定的目录中。有人知道这样的工具吗?
是否有一个程序可以在本地计算机上进行版本跟踪,而无需在远程服务器上使用 SVN/subversion 或其他东西,也无需在我的计算机上设置服务器?
Adobe CS 产品套件是否带有与 Illustrator/Photoshop 等产品本地集成的版本控制系统,允许操作和/或层级特定版本控制?
有这个软件还是我弄错了?
version-control adobe-illustrator adobe-photoshop adobe-creative-suite
我有两台电脑(工作和家里),希望为源代码和 TeX 文档设置一个版本控制系统。没有合作者(即单用户/编辑者)。大多数源文件是使用 vi 编辑器编写的。我想要在两台计算机上都可用的源/文档版本控制。
是否有更适合单用户、多计算机需求的特定版本控制结构(集中式与分布式)?例如,我可以将一台计算机设置为服务器,将另一台计算机设置为客户端,或者将两者都视为对等方。
另外,我希望能够轻松地同步两台计算机,我不知道是否rsync会更好,或者版本控制系统是否可以更好地执行此功能?
我希望在 Windows 7 上安装 Git。似乎有两个版本。我将结合 Tortoise Git 使用它。
StackOverflow 上的一个答案表明,如果与 Windows 一起使用,我应该使用 msysgit。我购买的 ProGit 书还引用了已重定向到 msysgit 的旧 Google 链接。我已经安装了它,但是,后来发现Tortoise Git wiki表示后者。
鉴于我的上述要求,应该安装哪些软件?
我在虚拟机中运行 Windows XP 以执行某些任务。我尝试使用 git 来版本化虚拟框的图像;但是,在所有服务包之后,它大约是6GB。我只有 6GB 的 ram 和 git 炸弹,说它内存不足。
我基本上想要拥有 Windows 的快照,这样我就可以简单地吹走图像并在我想要的时候重新开始。我喜欢在升级不起作用的情况下可以回滚到的东西,所以如果文件系统支持,我更喜欢使用版本控制或快照。
关于我可以使用哪些工具来做到这一点的任何想法?
一些非技术朋友表示对git(版本控制和回滚,而不是异地复制)的许多很酷的功能感兴趣,但绝对不想处理git-*甚至git-cola或任何功能齐全的 GUI。
是否存在非技术用户可以用于版本控制的 git GUI 前端?例如,不惜一切代价避免冲突而不是期望用户处理后果的东西。最终有人会通过这种方式赚取数百万美元(就像所有秘密的自动备份解决方案一样rsync),我只是问它是否已经被发明出来。
version-control ×13
git ×5
windows ×2
binary-files ×1
diff ×1
filesystems ×1
github ×1
mac ×1
mercurial ×1
rsync ×1
safari ×1
sed ×1
software-rec ×1
storage ×1
svn ×1
tortoise-git ×1
version ×1
versioning ×1