我安装了TortoiseSVN C > Program Files > TortoiseSVN.我想带命令提示符的测试,所以我打开cmd,并cd在TortoisSVN安装文件夹中的bin文件夹.
我尝试svn help在命令提示符下运行正常.然后我试了svn status,它给了我这个错误.
svn: warning: W155007: 'C:\Program Files\TortoiseSVN\bin' is not a working copy
Run Code Online (Sandbox Code Playgroud)
有人可以尝试这两个命令并告诉我他们是否得到类似的结果?
我之前从未使用过版本控制,但我知道这是一个很好的做法,所以我决定尝试一下.我喜欢git,所以我正在使用它.我有一个本地Ubuntu服务器(单独的盒子),我在那里进行所有本地开发.
所以我安装了gitosis(遵循Ubuntu社区文档)并设置了所有爵士乐.
我的IDE是Eclipse,所以我安装了Eclipse EGit.
我将我的Apache docroot与Samba共享,所以在我的Windows PC上(我开发的地方)我只是将我的项目加载到Eclipse中并将它们直接保存到docroot(所以像\ webserver\www\projectname是我的网络共享).
所以我对Git的理解是我应该在/ srv/gitosis/repositories中创建我的存储库.但是当使用EGit时,它只是将存储库保存到/var/www/projectname/.git - 这是正常的吗?关于整个事情应该如何运作,我有点困惑.
我正在启动Rails 3.2应用程序.我正在使用Git作为我的存储库,并想知道我应该保留哪些文件的版本,以及我应该从命令操作中动态生成哪些文件.
特别:
config/routes.rb
db/migrate/*
db/schema.rb
lib/assets/*
lib/tasks/*
script/rails
test/performance/browsing_test.rb
tmp/*
vendor/assests/*
vendor/plugins/*
Run Code Online (Sandbox Code Playgroud)
还有其他我应该知道的吗?
我被要求证明将小团队从CVS/SVN移到git是合理的.
到目前为止,从我的阅读中,我可以确定三个主要好处:
有一些支持git的论据是因为它的速度,但是,提及Git优越速度的常见回应是3到13秒之间的差异可以忽略不计.
一个真实的例子:
我白天做了很多工作,晚上回家之前把稳定的东西送到了家里.
在一个大提交中,我已经添加了几百个文件以及更改,移动和重新计算现有文件,CVS将执行提交,然后我可以穿上外套并整理我的桌面.这与git有什么不同?
Git的分支被许多人称赞为其中一个强项功能.然而,CVS/SVN中的分支对于许多工程师来说似乎已经足够了,特别是对于现代IDE而言,无论实际使用哪种RCS,整个体验和工作流程几乎都是相同的.
当我想尝试一个想法时,我右键单击Eclipse中的项目节点,选择"切换到不同的分支",选择"新建",输入名称,我就离开,提交和更新,而不会"污染主线" CVS显而易见.当我确定此分支中的新想法稳定且良好时,我再次右键单击该项目,选择"与另一个分支或版本合并",选择HEAD,我们又回到了HEAD,但实施了工作变更......会git改善我的经验吗?
使用分布式RCS的主要优势似乎是灾难恢复.然而,类似的属性也是CVS和SVN中固有的.对于标准练习用法尤其如此:
现在我认为标准做法是早上做的第一件事就是检查存储库是否有任何变化,如果需要的话,进行更新/合并,如果我今晚回家,发现我的存储库被烧毁了早上地面,我会失去......好吧......没什么.我会创建一个新的repo,将我的本地文件提交给服务器,其他5个员工会做同样的事情,可能会有一些合并大惊小怪但不会超过我们已经将我们的本地更改提交到已经存在的服务器,我们再次离开.没什么大不了.
GIT分期
经常提到的另一个特征是临时区域.这在SVN/CVS中没有等价物,允许开发人员"制定他的提交"以包含在您想要的文件中.
通常,当提到这一点时,我只想到变更集.临时区域有何不同?
实际上,我甚至看到使用Git的一些缺点:
我觉得好像我必须遗漏或误解git的基本内容,并且很难证明交换机的商业案例.我非常感谢您的投入,以便更好地理解所涉及的问题,特别是如果您能够确定具体的用例,其中git将是一个比CVS/SVN更优越的解决方案,而不仅仅是逐步更好的解决方案?
我按照本教程在github上生成SSH密钥:在上面链接教程的第5步,在我输入后我ssh -T git@github.com应该看到这个:
The authenticity of host 'github.com (207.97.227.239)' can't be established.
# RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
# Are you sure you want to continue connecting (yes/no)?
Run Code Online (Sandbox Code Playgroud)
但是,我看到了这个:
Agent admitted failure to sign using the key.
Permission denied (publickey).
Run Code Online (Sandbox Code Playgroud)
然后,当我尝试使用文件将文件推送到存储库时git push -u origin master,我得到了这个:
Agent admitted failure to sign using the key.
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)
我认为问题在于设置SSH密钥.我怎样才能解决这个问题?
我正在使用Linux.
* 84b134d - (HEAD, origin/lab_master, lab_master) comment macro defination which is protent to be a fun
|\
| * 735d88f - add small script to ease ctag related option (13 minutes ago)
* | 6623a94 - add small script to ease ctag related option (4 minutes ago)
|/
* 0d0913a - add gitignore to ignore ctags file (57 minutes ago)
Run Code Online (Sandbox Code Playgroud)
735d88f是--amend提交,但是此时发生冲突,为什么?
我只有一台PC,而且我总是在上面编辑文件,我也只有一个本地存储库,此外,此存储库仅在此处使用,我认为不可能发生冲突吗?
但是发生了,为什么呢?
我使用docx4j来加载,操作和保存Word文件.一切都很完美,但有一件事我不知道如何实现它.我想要的是版本控制 - 这意味着如果您保存文档,则可以恢复该文档的早期版本(例如,仅保存delta).也许你可以描述它应该像SVN或Git,你可以回到你的文件的早期版本.问题是我不知道有任何可能实现这一点.所以我希望你们中的任何人都可以帮助我.如果任何人至少知道一个包或其他东西可以通常使用文件而不是特别是docx文件,那就没关系了.谢谢你的帮助!
编辑:对不起,我的问题不精确.这是我在这里的第一篇文章,将来我会改进;)
我刚刚开始学习git版本控制,我正面临着这个问题.鉴于以下分支结构(取自免费书籍):

我们假设C4/C5提交改变了index.html文件的相同部分.
git checkout master
git merge iss53
Run Code Online (Sandbox Code Playgroud)
如果我理解它,我需要手动解决冲突.这本书讲述了冲突文件.这个冲突文件在哪里?鉴于以下冲突,如何:
<<<<<<< HEAD:index.html
<div id="footer">contact : email.support@github.com</div>
=======
<div id="footer">
please contact us at support@github.com
</div>
>>>>>>> iss53:index.html
Run Code Online (Sandbox Code Playgroud)
我可以丢弃HEAD的所有更改,仅将"iss53"分支的更改合并为"master"吗?如何编辑这些行?
我在当地克隆了一个git repo.我做了很多提交到master分支而没有被推入远程.与此同时,其他人已经添加到远程主人.现在我想保留我对远程仓库的提交,但是在一个从我最初克隆的提交开始的分支中.主要原因是保留我的提交历史,但不与master合并.提前感谢任何有用的想法.
我有一个程序使用以下代码从TFS服务器获取最新版本的文件.
TeamFoundationServer myTFS = TeamFoundationServerFactory.GetServer(myURL);
VersionControlServer myVCS = (VersionControlServer)myTFS .GetService(typeof(VersionControlServer));
ItemSet downloadItems = myVCS.GetItems(myDirectory, RecursionType.Full);
foreach (Item item in downloadItems.Items)
{
item.DownloadFile(myDownloadPath);
}
Run Code Online (Sandbox Code Playgroud)
我希望能够指定日期和时间,并在该时间点获取项目的ItemSet,而不是获取最新版本.然后,在DownloadFile调用中,我想在指定的日期和时间获取ItemSet中文件的最新版本.
我看到Item有一个CheckinDate属性,但是如果这个值在我要查找的日期和时间之后,我不知道如何获得以前的版本.