Git Basics for newbies

Eli*_*Eli 4 git repository

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

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

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

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

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

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

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

lar*_*sks 9

在此之前,了解如何为服务器配置ssh访问(通常,不仅仅是git),以便您可以运行如下操作:

ssh myserver uptime
Run Code Online (Sandbox Code Playgroud)

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

如果我想在我的本地机器上创建一个新的存储库,而不是将它(或)推送到服务器(它已经或者没有这个存储库),那么需要采取哪些措施?

在远程服务器上:

在您的本地系统上:

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

    $ 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

    为你的远程服务器上的用户名和yourserver是远程服务器的主机名(或IP地址).

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

    $ git push origin master

    在哪里起源的名称是你在上一步中你的遥控器,并且是你推分支.

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

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

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

这几乎就是我提供的示例,但如果您想了解任何步骤中的更多细节,请告诉我.