📅  最后修改于: 2020-12-14 01:23:10             🧑  作者: Mango
推送术语是指将本地存储库内容上载到远程存储库。推送是将提交从本地存储库传输到远程存储库的一种行为。推送能够覆盖更改;推动时应小心。
此外,我们可以说推送使用本地引用更新了远程引用。每次您推送到存储库时,都会通过您进行的一些有趣的更改进行更新。如果我们未指定存储库的位置,则它将在原始master处推送到默认位置。
“ git push”命令用于将其推入存储库。可以将push命令视为在本地和远程存储库之间传输提交的工具。基本语法如下:
$ git push
推命令支持许多其他选项。推送标签下的某些选项如下。
–all: “所有”一词代表所有分支。它推所有分支。
–prune:删除没有本地副本的远程分支。意思是,如果您有一个远程分支,例如demo,如果该分支在本地不存在,那么它将被删除。
–mirror:用于将存储库镜像到远程。更新或新创建的本地引用将被推送到远程端。可以在远端强制更新。删除的参考将从远端删除。
–dry-run:空运行测试命令。除了最初更新存储库外,它会执行所有这些操作。
–tags:推送所有本地标签。
–delete:删除指定的分支。
-u:创建上游跟踪连接。如果您是第一次推送分支,这将非常有用。
Git push origin master是一个特殊的命令行实用程序,用于指定远程分支和目录。当您有多个分支和目录时,此命令将帮助您确定主分支和存储库。
通常,术语“起源”代表远程存储库,而master则被视为主要分支。因此,整个语句“ git push origin master ”将本地内容推送到远程位置的master分支上。
句法:
$ git push origin master
让我们通过一个例子来理解这个陈述。
让我们对我现有的存储库进行新提交,例如GitExample2 。我已将图像添加到名为abc.jpg的本地存储库中并提交了更改。考虑下图:
在上面的输出中,我已将图片附加到本地存储库中。 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
-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选项一起使用以删除远程分支。我已经删除了我从资源库中编辑远程分支。考虑下图:
这是操作命令之前我的远程存储库的活动分支的列表。
上图显示了删除命令后活动分支的列表。在这里,您可以看到已编辑的分支已从存储库中删除。