git从远程获取和拉取

在使用 git remote 命令完成远程记录的配置后,远程名称可以立即用作其他 Git 命令的参数,以创建与远程存储库的通信。
我们可以使用 git fetch 和 git pull 命令从远程存储库中读取。

git remote

创建和编辑 git 远程配置

git remote 命令还用于编辑存储库的 ./.git/config 文件。
我们可以通过执行以下命令来完成:

  • 使用下面的命令将新的远程连接添加到远程存储库。然后,我们可以在其他 Git 命令中使用 <name> 作为 <url> 的适当快捷方式。
git remote add
  • 执行以下命令,删除与远程存储库的连接,名为 <name> 。
git remote rm
  • 运行以下命令以重命名远程连接:
git remote rename

我们也可以通过使用文本目录修改 ./.git/config 文件来获得与执行上述命令相同的结果。

检查remote配置

我们还可以将 show 子命令添加到 git remote 命令,以获得有关远程配置的更详细输出,包括与远程连接的那些分支的列表以及添加的用于获取和推送的端点。

git remote show upstream
* remote upstream
Fetch URL: https://example.com/upstream_user/reponame.git
Push URL: https://example.com/upstream_user/reponame.git
HEAD branch: master
Remote branches:
master tracked
 simd-deprecated tracked
 tutorial tracked
 Local ref configured for 'git push':
 master pushes to master (fast-forwardable)

存储库 URL

引用远程存储库的方法有很多种,但最简单的两种被认为是通过 HTTPS 和 SSH 协议。
在通过 HTTPS 访问远程存储库的情况下,我们不能将提交推送到 HTTPS 地址。

http://host/path/to/repo.git

使用 SSH 进行读写访问。
我们需要一个有效的 SSH 帐户。
但请注意,Git 仅支持经过身份验证的访问。
现代安全的第三方托管解决方案,例如 Bitbucket.com,可以提供这样的 URL:

ssh://user@host/path/to/repo.git

git远程推送

git push 命令写入远程存储库。

git push <remote-name> <branch-name>

Git remote示例

在使用 Git 时,也希望连接到其他开发人员的存储库,因为这提供了在中央存储库之外进行协作并进行有效工作的机会。
例如,同事保留了一个可公开访问的存储库 dev.example.com/tom.git,我们可以添加如下连接:

git remote add tom http://dev.example.com/tom.git

定义

git remote 命令旨在创建、查看和删除与其他存储库的连接。
远程连接被认为是其他存储库中的书签,它们是用于引用不够方便的 URL 的方便名称。

下图显示了从存储库到中央存储库和另一个开发人员的存储库的两个远程连接。
我们可以将源传递给另一个开发人员,他们将快捷方式到其他 Git 命令。
因此,我们不必通过完整的 URL 来引用连接。

oroirn remote

通过执行 git clone 命令克隆存储库,将自动创建一个远程连接,称为 oroirn,并指向克隆的存储库。

创建中央目录的本地副本是一种提取上游修改或者发布本地提交的简单方法。
这就是为什么许多基于 Git 的项目(item)(item)的中央存储库被称为“起源”。

添加远程仓库

调用 git remote add 命令,将创建一个新的连接记录到远程存储库。
然后 <name> 名称将可用作其他 Git 命令中 <url> 的可接受快捷方式。
此命令在存储库的 ./.git/config 中创建一个新记录。

git remote add fake_test https://example.com/upstream_user/reponame.git; [remote "remote_test"] 
url = https://example.com/upstream_user/reponame.git 
fetch = +refs/heads/*:refs/remotes/remote_test/*

Git远程子命令

git remote 命令有它自己的子命令。
我们将在下面检查它们。

下面的子命令将在 ./.git/config 文件中为存储库 url <URL> 中名为 <NAME> 的远程文件添加一条记录。
它接受一个 -f 选项,在创建远程记录后将立即 git fetch <name>。
此子命令接受的另一个选项是 --tags 选项,它将立即 git fetch <name> 并从远程存储库导入所有标签。

ADD <NAME> <URL>

以下子命令将更新 ./.git/config 以将记录 <OLD> 重命名为 <NEW>。
因此,远程的所有配置设置和分支都将被更新。

RENAME <OLD> <NEW>

下一个子命令编辑 ./.git/config 删除名为 <NAME> 的远程。
最后,远程的所有配置设置和分支都将被删除。

REMOVE or RM

执行下面的子命令将输出远程记录的 URL。
此子命令接受 --push 和 --alloptions。

GET-URL <NAME>

下一个子命令将输出有关远程 <NAME> 的信息。

SHOW <NAME>

最后一个命令将删除远程存储库中不存在的 <NAME> 的所有本地分支。
此子命令接受 --dry-run 选项,该选项列出已设置为要修剪的分支,但实际上并未修剪它们。

PRUNE <NAME>

git重命名和删除远程仓库

git remote 命令将远程连接从 <that-name> 重命名为 <this-name>。
此外,它还修改 ./.git/config 的内容以重命名远程记录。

git remote rename <that-name> <this-name>

git remote rm 命令删除与 <name> 参数定义的远程存储库的连接。

git remote rm <name>

查看远程连接

默认情况下,git remote 命令会列出之前存储到其他 repos 的所有远程连接。
因此,我们将有一行输出,其中列出了已添加书签的远程存储库的名称。

git remote
oroirn
upstream
other_repo

我们可以使用 -v 选项调用 git remote 命令,该选项将列出带有相应存储库 URL 的书签存储库名称。

git remote -v
oroirn  git@bitbucket.com:oroirn_user/reponame.git (fetch)
oroirn  git@bitbucket.com:oroirn_user/reponame.git (push)
upstream    https://example.com/upstream_user/reponame.git (fetch)
upstream    https://example.com/upstream_user/reponame.git (push)
other_repo    https://example.com/other_repo/reponame (fetch)
other_repo    https://example.com/other_repo/r
日期:2020-06-02 22:16:34 来源:oir作者:oir