在Subversion上提交代码(第一次)

12

我在Subversion上还是新手。我需要提交一份代码到Subversion,这是我第一次这样做。所以我的导师告诉我使用SSH将用户名放在他的服务器上。我通过以下代码完成了这个任务:

amit@<URL>,它可以正常工作。

现在他要求我提交代码,并给了我一个URL,但他说我需要首先使用SSH获得的用户名(即amit)创建一个文件夹。

我应该如何在svn链接上创建一个文件夹,然后如何提交项目?


你从任何URL检查过代码吗?我的意思是你的导师给了你任何URL来检查吗? - Jatin Dhoot
1
将来请参考此链接:http://svnbook.red-bean.com/en/1.5/svn-book.pdf - jRJ
7个回答

25

首先通过以下步骤检出该存储库:

svn checkout <Your URL> svn

现在进入 svn 文件夹,创建用户名文件夹(amit)并提交:

svn commit -m"username folder is created."

现在将您的文件复制到该文件夹中(在您的情况下为 amit)。现在您需要添加每个新文件或新文件夹:

svn add filename
svn add foldername

现在你可以将这些文件提交到服务器:

svn commit -m"Some new files are added."

注意: -m后面的文本是评论,您可以根据自己的需求进行更改。


现在将这些邮件文件夹复制到您的svn文件夹中。然后打开终端并进入该svn文件夹。现在当您执行svn status命令时,您将看到带有问号(?)的新添加文件。通过svn add filename添加每个文件。添加后,通过svn commit -m“您的注释”提交它。 - Naveed
1
Naveed,我刚刚下载了文件夹并复制到我的svn目录中,当我在终端上运行svn status命令时,它显示SVN:warning:'.'不是一个工作副本,接下来该怎么办?很抱歉问这个愚蠢的问题。但这非常紧急 :) - user478489
好的...现在你的代码已经准备好提交到服务器了..运行 svn commit -m"Amit folder is added." - Naveed
你让我的一天美好了 :) - user478489
哈哈..现在告诉你的导师,你已经完成了工作 :) 如果这个答案对你有帮助,现在你可以接受它... - Naveed
显示剩余22条评论

4

神奇!! :)

如果你已经开始了一个项目,但还没有将它作为svn的工作副本。

最简单的方法:

在终端中通过cd导航到项目文件夹,然后输入以下命令:

svn co http://svn.mine.com/svn/app_ios/trunk/ .

然后执行以下命令:

svn add --force .

最后执行以下命令:

svn commit -m "first commit"


svn add * --force 是什么意思? - Hemang
为什么有星号?这是有效的。我不知道星号代表什么,但点号表示当前文件夹。试一下吧,不会有任何损害。 - hasan
好的,* 将会更加简便。它将会添加项目目录中的所有文件(无论什么类型)。 - Hemang

2

svn ci与使用svn commit一样好。


0

在你的家庭文件系统中创建文件夹并将整个文件夹提交到服务器。

例如: amit/your_project_folder/


0

我不确定,但我会尝试这样做:

  • svn mkdir armit@<host>/<your_folder>
  • svn checkout armit@<host>/<your_folder>
  • 将您的文件复制到本地的<your_folder>
  • svn commit <your_folder>

顺序改变了,伙计——你首先要结账,然后使用mkdir创建目录 :) - Jatin Dhoot
这也是我的方式,伙计。如果你有权限,你可以在远程创建文件夹,检出,填充文件并提交。不是说这是最好的方式,但“是一种方式” :) - user806303
好的伙计!但是首先在repo中创建一个目录然后再checkout似乎有点尴尬。首先你将没有一个适当的日志信息,我的意思是你如何审计特定文件夹从哪里出现的呢?我的意思是你明白我的担忧吗?虽然你已经说过这不是最好的方法,但是是一种方法。 - Jatin Dhoot
好的,我理解你的意思;我想有时为了避免检出整个项目/存储库,当我只想从本地临时文件夹添加一个svn文件夹时,我也会这样做...有点像:D(也许这是一个“不正当”的技巧呢) - user806303

0

我需要将我的代码从我的svn发送到其他svn url。我是这样做的:

1. 在需要推送代码的地方(目标svn url)检出目标svn url。

svn co 目标svn url

2. 现在,我有了我的代码。我使用以下命令从我的代码中删除了.svn文件夹(隐藏),以避免版本之间的冲突。

rm -rf `find . -type d -name .svn`

3. 现在,我复制了我的代码(文件夹)并将其粘贴到第1步中的目标文件夹中,并运行以下命令:

svn add 文件夹路径_i_paste

4. 现在提交代码。

svn commit -m“代码已推送”


0

//首先添加工作副本

  • svn co你的URL
  • svn add * --force
  • svn commit -m"第一次提交"

//删除诸如Google Places、Google Maps、Google Maps Core之类的框架,因为它们在上传数据时会导致错误。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接