📜  Git Push

📅  最后修改于: 2020-12-14 01:23:10             🧑  作者: Mango

Git推

推送术语是指将本地存储库内容上载到远程存储库。推送是将提交从本地存储库传输到远程存储库的一种行为。推送能够覆盖更改;推动时应小心。

此外,我们可以说推送使用本地引用更新了远程引用。每次您推送到存储库时,都会通过您进行的一些有趣的更改进行更新。如果我们未指定存储库的位置,则它将在原始master处推送到默认位置。

“ git push”命令用于将其推入存储库。可以将push命令视为在本地和远程存储库之间传输提交的工具。基本语法如下:

$ git push 

推命令支持许多其他选项。推送标签下的某些选项如下。

Git Push标签

存储库是推送操作的目标。它可以是URL或远程存储库的名称。

它指定要更新源对象的目标ref。

–all: “所有”一词代表所有分支。它推所有分支。

–prune:删除没有本地副本的远程分支。意思是,如果您有一个远程分支,例如demo,如果该分支在本地不存在,那么它将被删除。

–mirror:用于将存储库镜像到远程。更新或新创建的本地引用将被推送到远程端。可以在远端强制更新。删除的参考将从远端删除。

–dry-run:空运行测试命令。除了最初更新存储库外,它会执行所有这些操作。

–tags:推送所有本地标签。

–delete:删除指定的分支。

-u:创建上游跟踪连接。如果您是第一次推送分支,这将非常有用。

Git Push Origin Master

Git push origin master是一个特殊的命令行实用程序,用于指定远程分支和目录。当您有多个分支和目录时,此命令将帮助您确定主分支和存储库。

通常,术语“起源”代表远程存储库,而master则被视为主要分支。因此,整个语句“ git push origin master ”将本地内容推送到远程位置的master分支上。

句法:

$ git push origin master

让我们通过一个例子来理解这个陈述。

让我们对我现有的存储库进行新提交,例如GitExample2 。我已将图像添加到名为abc.jpg的本地存储库中并提交了更改。考虑下图:Git推

在上面的输出中,我已将图片附加到本地存储库中。 git status命令用于检查存储库的状态。 git status命令将执行如下:

$ git status

它显示了未跟踪图像abc.jpg的状态。现在,添加图像并将更改提交为:

$ git add abc.jpg
$git commit -m "added a new image to project." 

该映像在本地存储库中被完全跟踪。现在,我们可以将其推送到原始主机,如下所示:

$ git push origin master

输出:

文件abc.jpg已成功推送到原始主机。我们可以在远程位置对其进行跟踪。我已将这些更改推送到我的GitHub帐户。我可以在我的存储库中对其进行跟踪。考虑下图:

在上面的输出中,推送的文件abc.jpg被上传到我的GitHub帐户的master分支存储库中。

推力推

git force push允许您将本地存储库推送到远程而不处理冲突。它的用法如下:

$ git push  -f

要么

$ git push  -force

-f版本用作force的缩写。远程可以是任何远程位置,例如GitHub,Subversion或任何其他git服务,并且分支是特定的分支名称。例如,我们可以使用git push origin master -f。

我们也可以在此命令中省略分支。该命令将按以下方式执行:

$git push  -f

我们可以省略远程和分支。当遥控器和分支都被省略时,默认行为由git config的push.default设置确定。该命令将按以下方式执行:

$ git push -f

如何安全强制推送存储库:

强制推送存储库可能会产生多种后果,例如它可能会取代您要保留的工作。如果在远程上有意外的新提交,则带有租借选项的强制推送将使推送失败。如果我们用git来表示,那么可以说如果remote包含未跟踪的提交,它将使它失败。它可以执行为:

$git push  --force-with-lease    

git push -v /-详细

-v表示冗长。它详细地运行命令。它推送了存储库,并提供了有关对象的详细说明。假设我们在本地存储库中添加了一个newfile2.txt并提交。现在,当我们将其推送到远程时,它将提供比默认git push更多的描述。下面详细给出push的语法:

句法:

$ git push -v

要么

$ git push --verbose

考虑以下输出:

如果将上面的输出与默认的git选项进行比较,可以看到git verbose提供了描述性输出。

删除远程分支

我们可以使用git push删除远程分支。它允许从命令行删除远程分支。要删除远程分支,请执行以下命令:

句法:

$ git push origin -delete edited

输出:

在上面的输出中,git push origin命令与-delete选项一起使用以删除远程分支。我已经删除了我从资源库中编辑远程分支。考虑下图:

这是操作命令之前我的远程存储库的活动分支的列表。

上图显示了删除命令后活动分支的列表。在这里,您可以看到已编辑的分支已从存储库中删除。