程序员社区

Git系列教程 --- 39、Git 的Push 命令详解

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

file

此外,我们可以说推送使用本地引用更新远程引用。每次推送到存储库时,它都会更新您所做的一些有趣的更改。如果我们不指定存储库的位置,那么它将推送到origin master 的默认位置。

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

$ git push <option> [<Remote URL><branch name><refspec>...]  

Push 命令支持许多附加选项。push 标签下的一些选项如下。

Git 推送标签

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

它指定更新源对象的目标引用。

--all:单词“all”代表所有分支。它推动所有分支。

--prune:它删除没有本地副本的远程分支。意思是,如果你有一个远程分支,比如 demo,如果这个分支在本地不存在,那么它就会被删除。

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

--dry-run:试运行测试命令。除了最初更新存储库之外,它会完成所有这些工作。

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

--delete:删除指定的分支。

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

Git Push Origin Master

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

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

句法:

$ git push origin master  

让我们通过一个例子来理解这个说法。

让我们对我现有的存储库进行新的提交,比如GitExample2。我已向名为abc.jpg 的本地存储库添加了一个图像并提交了更改。考虑下图:

file

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

$ git status  

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

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

图像在本地存储库中完全跟踪。现在,我们可以将其推送到 origin master:

$ git push origin master  

输出:

file

文件abc.jpg成功推送到origin master。我们可以在远程位置跟踪它。我已将这些更改推送到我的 GitHub 帐户。我可以在我的存储库中跟踪它。考虑下图:

file

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

Git 强制推送

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

$ git push <remote><branch> -f  

或者

$ git push <remote><branch> -force  

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

我们也可以省略这个命令中的分支。该命令将被执行为:

$git push <remote> -f  

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

$ git push -f  

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

强制推送存储库会产生多种后果,例如它可能会替换您想要保留的工作。如果远程上有您意想不到的新提交,使用租用选项强制推送能够使推送失败。如果我们说 git,那么我们可以说如果 remote 包含未跟踪的提交,它将使其失败。它可以执行为:

$git push <remote><branch> --force-with-lease     

git push -v/--verbose

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

句法:

$ git push -v  

或者

$ git push --verbose  

考虑以下输出:

file

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

删除远程分支

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

句法:

$ git push origin -delete edited  

输出:

file

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

file

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

file

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

赞(0) 打赏
未经允许不得转载:IDEA激活码 » Git系列教程 --- 39、Git 的Push 命令详解

一个分享Java & Python知识的社区