繁体   English   中英

如何创建本地git存储库并使用SourceTree进行管理?

[英]How to create a local git repository and manage with SourceTree?

我是git的新手(虽然我以前使用perforce和svn工作)并且我想控制一个Unity项目,但我不想在网上任何地方托管它。 我单独从事这个项目,但我通常在不同的地方使用两台不同的计算机。 过去,我在USB驱动器中有一个SVN存储库,用于从每台计算机中的项目的本地版本更新/提交。

由于我之前从未使用过git而且我想学习,我正在尝试做同样的事情(我知道你不应该以这种方式使用git,但我绝对不想在任何在线服务器上托管我的项目) 。

在阅读了很多关于git之后,我想我对它与SVN的不同之处有了很好的把握。 我一直在按照本教程实现我的目标: http//dexterlin.com/tag/git/

我在我的桌面上有一个本地git项目,然后使用终端(我在MAC上工作)我在桌面上的另一个文件夹中创建了一个裸存储库。

当我尝试让SourceTree识别裸存储库时,问题出现了,我无法做到这一点。 但是我也有点困惑,我可以在我的计算机中创建两个不同的文件夹/存储库并将它们链接到SourceTree,但SourceTree不允许我从一个推送到另一个,怎么样?

我想使用SoruceTree,因为我需要Windows / Mac客户端来处理不同计算机上的git。

所以这里有一些问题: - 我在git中想要做什么是可能的? - 如何让SourceTree指向我创建的裸存储库? - 将裸存储库复制到USB驱动器以后可以从另一个计算机存储库中获取? - 如何让SourceTree让我从裸本地存储库推送/拉入我的本地存储库?

提前谢谢了!! 任何帮助将非常感激:)

将裸存储库移动到USB设备(例如,安装在Z:\\/Volumes/MyUsbDevice/ ),或在那里创建一个新的裸存储库。 (我只想指出你可以随时移动你的存储库)

$ cd /Volumes/MyUsbDevice/
$ mkdir myNewGame.git
$ cd myNewGame.git
$ git init --bare

裸存储库包含Git二进制格式的项目历史记录,您的文件无处可寻。 这可能是SourceTree感到困惑的原因。
您需要做的是在要使用的计算机上创建此存储库的克隆

在Windows上:

$ git clone Z:\myNewGame.git myNewGame

在mac上:

$ git clone /Volumes/MyUsbDevice/myNewGame.git myNewGame

或者你可以在Sourcetree中执行此操作,只需将其传递给USB设备上git存储库的位置即可。

如果您浏览到myNewGame/.git/config您将看到如下所示的部分:

[remote "origin"]
    url = /Volumes/MyUsbDevice/myNewGame.git
    fetch = +refs/heads/*:refs/remotes/origin/*

这是Git存储有关远程裸存储库的信息的地方,这就是为什么将来始终将它安装在同一个文件夹/字母上的重要性。

然后,您可以使用Sourcetree, pull将从您的USB设备获得更改, push会将它们写入您的USB设备。

您将拥有三个位置的完整历史记录,Mac,Windows和USB设备。 只有在要执行提取或拉取或推送时才需要连接USB设备。

因此,您的历史记录已经分发,所以您会非常安全,但我仍然建议您定期备份您的裸存储库。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM