【问题标题】:How do I use Github to access the same project files from different computers?如何使用 Github 从不同的计算机访问相同的项目文件?
【发布时间】:2012-06-13 18:13:03
【问题描述】:

我主要在台式机 Mac 上工作,但我也有一台笔记本电脑,以便在离开办公室时使用。

我想从任一计算机访问和处理我最新的 html、css、php 和 python 文件。

我认为 Github 是执行此操作的方法,但在理解“流程”时遇到了问题,我有 RTFM!我不明白我是否应该首先在 Github 上创建一个存储库,为什么当我尝试“克隆”某些东西时,它并没有神奇地最终出现在我的本地计算机上……那里有一个漂亮的红色大按钮,上面写着“同步”是...

...或者我是否应该只使用命令行...

所以,如果我从桌面开始并创建新文件,使用 git 或 Github (?) 将这些文件放在可以从我的笔记本电脑访问的位置,然后合并我笔记本电脑上的文件的正确步骤是什么回到 ?Github 存储库,这样我就可以从我的桌面访问这些文件。

感谢大家的回复和解答!满足我的需要的 git 工作流程现在已经很清晰了。

wadesworld 提供的工作流程简洁明了,是我需要的概述。

但是,Michael Durrant 的命令行步骤专门使用命令行指令填充了该工作流程 - 我也需要它。

steelclawuDaY 的回答和回应很重要,因为我不明白我首先创建哪个 repo 并不重要,并且在本地添加和提交是必不可少的我工作流程的第一步。

具体来说,steelclaw 对我的一个回答问题的回答提供了我需要的关闭,因此我可以了解更多信息:

初始化存储库后,请务必使用“添加”和“提交”。这些将使文件成为存储库的正式版本。之后,您需要使用 'push' 将其上传到远程存储库。”

ilollar 的资源“Git for Ages 4 and Up”也值得点击,尤其是对于像我这样视觉的人!

非常感谢大家!!

【问题讨论】:

  • 您应该阅读help.github.com,根据您使用命令行或 GUI 的便利性。无论您是否先在 github 上创建 repo,先创建 repo 都没有关系,但如果您想将本地 repo 推送到远程 repo(github.com),则应该有远程 repo。至于 RTFM 我不知道这意味着什么......:P
  • 是的,该页面是 help.github.com 并且很有帮助。但我不确定“流动”,有点迷茫。鉴于我想将所有内容从一台计算机复制到 Github,然后将我刚刚“上传”的所有内容复制到我的笔记本电脑,在任何一台计算机上工作,但始终保留并能够访问,我应该做什么“应该” Github 上的最新副本?
  • @uDaY:你是说只使用命令行还是只使用 GUI(不能同时使用两者)?
  • @ValerieLynn,一旦你将更改推送到远程仓库(在 github.com 上)。您必须使用$ git clone git@github.com:username/<yourreponame>.git 克隆它。您可以同时使用 gui 和命令行,没有任何限制。
  • 我建议最初使用命令行。虽然有一个学习曲线,但通过这样做,您将对 git 有更好的理解。

标签: macos git github workflow repository


【解决方案1】:

您是想对文件进行版本控制,还是只想在两个地方访问相同的文件?

无论您是编写代码还是设计网站,作为开发人员使用版本控制都是一个好主意。但是,要做到这一点,您必须致力于学习版本控制系统的工作原理,因为它们都有一些学习曲线。

但是,如果您对这种复杂性不感兴趣,只是想确保您可以访问最新版本的文件,那么您正在寻找一种更简单的文件同步操作。

那么,你想要哪一个?

编辑:根据响应,这是模型:

1) 在工作计算机上创建存储库。

2) 在 github 上创建同名存储库。

3) 推送到github上的仓库

4) 在家里,做一个 git clone 来拉下你推送的更改。

5) 现在两个位置都存在存储库,您可以在下班前简单地执行 git push,回家时执行 git pull,反之亦然。

【讨论】:

  • Wadesworld,感谢您提出版本控制与仅访问相同文件的问题。我想要版本控制和访问相同的文件。
【解决方案2】:

要回答您问题的详细信息:我会选择Dropbox
UbuntuOne 即使对于非 Ubuntu 用户也很好,当然Google drive 是该街区的(大)新玩家.

它们的比较如下:

Service    Free*1  NextLevel*1  NextLevel($)*2  Features
Dropbox    2       50           $2.5O           One Folder, best gui sync tools.
UbuntuOne  5       20           $4.00           Multiple directories anywhere
GDrive     5       25           $2.50           It's Google.

*1 GB
*2 Cost per month

回答问题的标题:

如果你想要更适合程序员的东西,我会使用 git:

首先,安装 gitx(Linux 阅读器,即 gitg),因为这是迄今为止最流行的 git gui:

对于“流程”,我还可以向您推荐我对各种功能的撰写:
What are the core concepts of git, github, fork & branch. How does git compare to SVN?

使用 gitx 或 gitg 的具体流程如下:

1) 对文件进行一些更改。

2) 使用工具“提交”选项卡查看更改的内容(“未暂存”):

3) 通过将文件从“未暂存”拖动到“暂存”来添加文件:

4) 给出提交信息

5) 提交文件。

6) 然后我在命令行使用$ git push remote 将其推送到远程,或者我通过右键单击并选择第二个主控来使用 gui - 请参见此处:

.

如果我要与其他人共享,我通常需要先执行 git pull 才能在其他更改中合并),然后才能执行 git push

github 部分正在执行初始化、推送和克隆,但我想说只是阅读这些教程而不是 SO 问题。基本上,我会这样做:

  • 在 git 中本地设置存储库:

git init
git add .
git commit "Initial commit"

设置github:

使用 github (https://help.github.com/articles/create-a-repo) 创建一个 github 存储库,然后将您的本地存储库推送到它,如下所示:

git push origin master.

如果存储库已经存在于 github 但不在您的本地 PC 上,那就是您单击远程链接,然后在终端中键入 git clone [粘贴到此处,例如ctrl-v]

如果你是从 github“开始”:

  • 更改代码
  • git pull - 将最新版本放入您的存储库并合并任何更改
  • git add .添加所有修改过的文件
  • git commit -m "消息"
  • git push # origin master 是默认的。

如果在一天结束时您决定使用像 Dropbox 这样简单的东西,您可以使用我的推荐链接 -http://db.tt/pZrz4t3k- 获得比标准 2GB 多一点的空间,使用这个我们都可以获得额外的 0.5 GB ,但是,所有这些路线中的哪一条取决于您和您的需求。我使用所有这些服务(git、github、UbuntuOne、Dropbox 和 googleDrive,所以我不推荐其中一种服务——这取决于需求)。

【讨论】:

  • 谢谢迈克尔。我正在阅读您现在提供的链接。我不知道我应该有一个视觉效果,尽管 Github 会这样做。
  • 取决于平台。在 Mac 上,SourceTree 正迅速成为首选的图形客户端。
  • 迈克尔,谢谢。您在“在 git 中本地设置存储库”下的行项目只是提供了一个缺失的链接(我认为):本质上,我需要在本地创建一个存储库(我知道)但简单地创建存储库并不会说,“嘿,跟踪这里的一切。”相反,创建存储库更像是在说:“嘿,这是我想要存储东西的存储桶。”使用 git add 指定我想要存储或跟踪的什么,但仍然没有“拉动触发器”。 git commit 触发并在我的本地存储库中建立我正在跟踪的内容。
  • 我还刚刚添加了一个额外的屏幕截图,显示您也可以通过 gui 将主服务器推送到远程!
【解决方案3】:

我建议使用DropBoxGoogle Drive。它们会让您完全按照您的目标去做,它们非常用户友好(而且免费 [5 Gb 我认为])。

它们会自动更新(只要您显然有互联网连接)

只需创建一个文件夹,将一些文件放入其中,然后你就走了。

【讨论】:

  • 谢谢。我确实考虑过 Google Drive,但我的机器支持单独的 Google Drive(即不同的 Google 帐户),我认为这可能是个问题。
  • 哈哈,确实……任何一个都可以用来做这个。这是我大部分时间都在做的事情,老实说远远超过 git。只需创建几个别名'和你的离开。
【解决方案4】:

由于在一个答案中解释如何使用整个 VCS 是一项艰巨的任务,因此我可以向您指出一些非常有用的资源,以帮助您理解和使用 Git:

  • Pro Git - 一本免费的在线书籍(用 Git 编写!),语言通俗易懂。
  • GitHub Help - GitHub 自己的帮助部分将引导您完成设置和使用 Git,而不仅仅是使用他们自己的应用程序。非常有用。
  • Get Started with Git - 一个很好的教程,让你开始使用 Git。
  • Git For Ages 4 and Up - 用 Tinker Toys 解释 Git 内部工作原理的精彩视频。不是最适合介绍 Git 的,但当您感觉更舒服时可以观看的精彩视频。

Git 一开始可能会觉得复杂或奇怪,但如果你正在寻找一个好的版本控制系统,那就太棒了。

但是,如果您正在寻找一种类似云的服务来在多台计算机上同步某些文件,就像其他人提到的那样,Dropbox 将是您的最佳选择。

【讨论】:

  • 您还应该知道 Dropbox 也有内置的文件版本控制。它不像 Git 那样功能齐全且功能强大,但它确实为您提供了轻松的同步和版本控制。
【解决方案5】:

我将 Github 用作 git 的“中心”,用于共享完成的代码。 (以及用于版本控制的 Git)

和 Dropbox 在不同的计算机和手机/平板电脑之间同步文件,管理文件。

http://db.tt/EuXOgGQ

它们对我有不同的用途。两个都不错!

【讨论】:

  • Edditoria,谢谢。我希望使工作流程更容易。不知何故,我认为 Github 会做到这一点,因为它能够将最新的文件存放在一个中心位置——然后我可以从任何地方访问这些文件,进行更改,上传这些更改,然后当我到达我的下一台机器时,下载当前文件集,处理它们,上传它们......
  • 嗯...需要注意的一点:在 Git 中,通常您需要提交更改(确认您的工作/检查点已完成)。如果你使用 github 来管理你的代码,那么提交工作在进程中的代码可能不是一个好习惯。我会推荐 Dropbox 来同步文件,而不是手动上传/下载任务。顺便说一句,先尝试您的想法(仅当您从事小型项目时)。
  • @Edditoria:提交正在进行的工作为什么不是一个好主意?
  • @echristopherson 嗯...我不知道怎么说正确。例如,当我在咖啡店等朋友时,我会编写一些代码。如果代码没有经过测试,那不是提交更改的正确时间。我只是让它同步到云端。只有当我相信开发取得了某些成果(例如,创建菜单、修复错误等)时,我才会提交更改。
  • @Edditoria,我明白你在说什么。出于这个问题的目的,我需要了解 git 工作流程。考虑到我的情况,如果我在等待朋友的时候在咖啡店写代码,我提交而不考虑测试,这样当我回到代码编写时我可以从中断的地方继续.
【解决方案6】:

Git 是用于版本控制的高级且相当困难的工具。如果您有勇气,可以尝试安装命令行工具,但我建议使用图形客户端,特别是 SourceTree。 http://www.atlassian.com/software/sourcetree/overview

您需要克隆您的存储库,或者初始化一个新的。要连接到您的存储库,您需要知道 URL,可能还需要知道存储库的用户名和密码。您还需要为存储库提供一个有效的名称。

要更新文件有几个步骤:首先,您需要将更改添加到目录。源树可能会自动执行此操作。然后,您需要提交更改。这基本上是确认更改并用评论对其进行签名。要上传它们,您需要使用 push 并选择正确的远程存储库。当您想更新本地存储库时,您需要使用 pull 并再次选择正确的远程存储库。

但是,出于您的目的,Dropbox 似乎可能更好,因为它会自动更新并且非常简单。如果您不需要 git 提供的高级版本控制(例如分支、从许多用户合并),那么它似乎对您来说是一个更好的选择。 https://www.dropbox.com/

【讨论】:

  • 谢谢。因此,我在本地目录中有一组文件,我希望能够从任何地方获得这些文件。这是我初始化后的“本地存储库”,是吗?
  • 是的。初始化存储库后,请务必使用“添加”和“提交”。这些将使文件成为存储库的正式版本。之后,您需要使用 'push' 将其上传到远程存储库。
  • 我应该首先创建哪个存储库:本地存储库或远程 (GitHub) 存储库)- 还是有关系?
  • @ValerieLynn,你先创建哪个并不重要。仅当您考虑将本地存储库推送到远程时才重要。因为然后 git 想查看远程站点中是否有您的 repo 的占位符,所以您应该在 push 本地源到远程之前拥有。
  • @uDaY,我想你在说什么,我可以先创建存储库 - 本地或远程。但是,当我想将本地源推送到远程时,我需要先确保远程存储库存在。谢谢。
猜你喜欢
  • 1970-01-01
  • 2021-11-04
  • 2015-09-10
  • 2019-11-09
  • 2013-01-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多