2017-02-22 139 views
-1

我正在为我的一个项目执行SVN到GIT的迁移。 一个地方的我对SVN下面衬垫代码更新GIT commit命令相当于SVN命令

svn commit --no-auth-cache --message "commit test" --file test.properties --force-log --username XXXX --password XXXXX 

所以只是想检查什么是我应该用相应的Git命令。 到现在我已经得到了,直到以下部分

git commit -m "commit test" --file test.properties 

所以,我怎么可以附加在GIT的用户名/密码标签commit命令,以便它可以使用相同的认证而访问回购。

感谢 萨姆

+0

制作Git中提交和访问回购是两个不同的操作。您是否在问如何缓存您的凭证以便在与回购交流时使用? –

+2

你不能:Git提交的性质不同于SVN提交的性质。 SVN提交必须联系某个服务器上的中央存储库,以获取权限和修订号。 Git分布在大自然中;可能根本没有中央存储库,并且提交发生在本地,没有中央服务器。 – torek

+0

同意..所以只是纠正我,如果我错了..所以我的查询是,如果我们通过git做提交也内容将位于一些回购,如果我想做一个git提交执行一些更新,我需要通过我可以通过Id的身份验证过程。所以只是想知道我怎么能达到相同的。 – Sam

回答

0

您不需要提供任何凭据来创建在Git中提交。你在问如何内联创建提交的身份?然后你可以使用git -c user.name="John Doe" -c [email protected] commit ...。如果您问如何获得某个中央存储库的提交,那么在提交之后还必须执行一次推送。

1

所以我的查询是那么,如果我们提交通过的git也是内容将设在一些回购

提交将位于您创建的提交机器上的回购。在SVN中,commit是一个动词,它将您对Subversion版本库的更改进行保存,该版本库通常位于其他某台机器上。在git中,commit是一个动词,但它也是一个名词 - 一个提交是您创建的一组特定的更改,它们一起应用。当您使用git commit命令时,您在本地回购中创建提交。然后,您可以使用git push将您创建的提交(或提交)发送到另一个回购站,例如您与其他团队共享的提交(或提交)。

所以我怎么追加用户名/密码标签在GIT commit命令,以便它可以使用相同的身份验证,同时访问回购。

这似乎是你的问题的核心。您可以在URL中包含用于回购的用户名和密码,当你推,如:

git push https://user:[email protected]/reponame.git 

其中user是用户名,password是对应的密码,剩下的仅仅是主机名和路径信息库你在推动。再次,git的工作方式不同,因此创建提交并将其移动到共享库是两个单独的步骤。

还请注意--file选项不会做你认为它所做的事情;在git中,--file没有指定要添加到repo的文件,而是它会导致从文件中读取提交消息。

为了把它放在一起,修改文件test.properties后,你会做这样的事情:

git add test.properties 
git commit -m "commit test" 
git push https://user:[email protected]/reponame.git 
+1

很好解释.. @Caleb – Sam