Git Basics for newbies

时间:2011-10-04 13:22:03

标签: git repository

当我需要一些基本的VCS功能时,我在这里和那里使用git,但我还没有完全理解Git中某些东西是如何工作的。

与SVN不同,Git是分散的,因此我可以在一个地方启动一个存储库并在本地使用它,然后将我的更改推送到另一个存储库,至少这是我理解它的方式。

我想知道一些关键的事情:

  1. 如果我想在我的本地计算机上创建一个新的存储库,而不是push(?)它到服务器(它已经或者没有这个存储库),有什么动作需要的?

  2. 我是否需要网络服务器与远程回购交互?

  3. 如何从/向我有SSH访问权限的服务器推送/拉出?

  4. 希望回复很简短并且重点 - 人工页面很棒,因为他们并不总是传达他们需要的东西,有时候会有我不需要的信息。所以我希望你能原谅我和我的问题,即使它之前被多次询问/回答。

2 个答案:

答案 0 :(得分:9)

在其他任何事情之前,了解如何配置ssh访问(在 一般而言,不只是git}到您的服务器,这样您就可以运行 类似的东西:

ssh myserver uptime

让它运行远程命令而不提示你输入 密码。这将使你git的生活更加愉快。

  

如果我想在本地计算机上创建一个新的存储库,而不是   将(?)推送到服务器(它有或没有这个回购   已经),需要采取什么行动?

在远程服务器上:

  • 创建目标存储库:

    $ mkdir -p path/to/repo.git
    $ cd path/to/repo.git
    $ git init --bare
    

在您的本地系统上:

  • 创建您的存储库......

    $ mkdir myrepo

    $ cd myrepo

    $ git init

    ...并提交一些更改。

    $ git add a-file-i-editied

    $ git commit -m 'this is a change'

  • 添加远程 - 即对远程存储库的引用:

    $ git remote add origin you@yourserver:path/to/repo.git

    是你远程服务器上的用户ID,而你的是 远程服务器的主机名(或IP地址)。

  • 将您的更改推送到远程存储库:

    $ git push origin master

    origin 的位置是前一个遥控器的名称 步骤, master 是您正在推动的分支。

  

我是否需要网络服务器与远程回购交互?

请注意上一个示例中缺少任何Web服务器。 Git 可以 通过http / https运行,但它通常用于ssh。 Git也 提供可用于提供的本机git协议 对存储库的匿名只读访问; git-daemon 实现这个协议。

  

如何从/向我有SSH访问权限的服务器推送/拉出?

这几乎就是我提供的例子,但如果你,请告诉我 想要在任何步骤中获得更多细节。

答案 1 :(得分:1)

你在问题​​中提出的问题恰好是Git和Github最基本的方面。让我引导您完成所要求的确切步骤。

1)要创建新的git仓库,请使用终端(或操作系统的其他等效程序)/文件夹中的Open Terminal导航到项目文件夹,然后键入以下命令

git init

这会使用空的git存储库初始化您的项目。

您现在可以继续对项目进行更改,并在单个提交中记录这些更改。以下是发布提交的方式

git commit -m "YOUR COMMIT MESSAGE"

要将您的repo推送到github /任何其他git托管服务,首先需要添加远程存储库URL,如下所示

$ git remote add origin you@yourserver_url.git

现在已经准备好了。发出以下命令

$ git push origin master

2)您是否需要服务器与Git进行交互

Eli已经很好地回答了这个问题,但总结一下。不,你没有。大多数人使用像Github,Bitbucket,Gitlab等现有服务来托管他们的回购,在这种情况下,您只需要使用远程URL与远程仓库进行交互。

3)如何从远程仓库推/拉?

首先,如果它是私人的,你需要访问回购(如果它不是你的好去)。接下来获取repo的URL,它应该看起来像这样

https://github.com/YOUR_USERNAME/YOUR_PROJECT.git (This URL example is from github)

接下来,您需要将其克隆到本地计算机,如下所示

git clone https://github.com/YOUR_USERNAME/YOUR_PROJECT.git

现在您已克隆它,进行必要的更改,然后使用我在下面提到的命令将其推回。

版本控制的方式多于基础知识。如果您想了解更多信息,可以参考以学习基础知识的交互式网站try.github.io或查看我在同一篇文章中撰写的这篇文章,它应该可以帮助您入门。

这是链接 https://www.techlila.com/version-control-git/