0

老实说,我的背景是 SVN,git 完全让我感到困惑,而且 git 的文档对我来说没有任何意义。

我从同事的一些通信中得知,远程存储库中还有其他目录和文件,这些目录和文件来自他们一直在处理的东西。我在当地看不到他们。我希望我的本地工作空间能够反映所有这些变化。我不知道所有文件的名称——可能有数百个。

类似克隆的东西,但不会抱怨存在本地副本。我已经尝试了各种命令,但无处可去,“致命错误”或“已经是最新的”。

到目前为止,我已经设法覆盖并丢失了一些现有的工作。不知道我是怎么做到的——我认为版本控制不应该让这种情况发生!

4

1 回答 1

2

使用 时git,您始终拥有远程仓库的克隆。

粗略的等价物svn updategit fetch从远程仓库获取所有新提交,后跟 a git merge remote/master(或者您可以使用git pull执行这两个步骤的命令)。git merge在执行or git pull(是安全的)之前在本地提交所有更改通常是一个好主意,git fetch因为这将尝试将您的更改与远程分支合并,并可能导致冲突。

粗略的等价物svn commitgit push将您的更改发送到远程仓库并更新对那里的分支头的引用。在进行推送之前,您应该始终进行合并,否则您可能会意外删除同事的更改。不过,您的团队可能有另一个工作流程(将补丁发送给负责集成的单个人员)。

如果您来自svn,最容易理解的方法git是认为您始终在一个分支上工作,并且与团队其他成员的共享是通过合并您的参考分支或您的参考分支中的参考分支来完成的。

否则,我真的会推荐阅读Git 书籍或至少阅读Git SVN 速成课程

于 2013-01-23T19:58:21.007 回答