📌  相关文章
📜  如何将 Git 分支推送到远程?

📅  最后修改于: 2022-05-13 01:58:11.165000             🧑  作者: Mango

如何将 Git 分支推送到远程?

Git是最流行的版本控制系统,它将随着时间的推移对我们的项目所做的更改记录在一个称为存储库的特殊数据库中。我们可以查看我们的项目,看看谁在何时以及为什么做了什么改变,如果我们搞砸了,我们可以很容易地将我们的项目恢复到早期的状态。在本文中,我们将看到将 git 分支推送到您可以说的远程托管存储库或项目的基本命令,以及这些命令的核心含义是什么。

关键术语如下:

  1. init:它基本上是 git 命令的一部分,我们用它在非 git 存储库中初始化 git。
  2. status:它也是命令的一部分,我们可以通过它查看任何 git 存储库的当前状态。
  3. 日志:它是存储库中完成的所有提交的记录。
  4. 提交:提交是 git 存储库在某个时间点的快照。
  5. commit id:它是一个 40 个字符的十六进制值,它是 git 每次我们提交到我们的存储库时生成的唯一标识符。

因此,让我们开始看看如何将 git 分支推送到远程托管的存储库,如下逐步证明:

Git 初始化

因此,在我们开始直接推送分支之前,我们需要在本地系统中创建一个本地存储库以推送到远程托管的存储库。首先,我们需要在本地系统的现有目录中初始化 git。为此,我们使用以下命令,

Personal@LAPTOP-SKVEHBA2 MINGW64 ~ (master)
$ cd "E:\git pushing"
Personal@LAPTOP-SKVEHBA2 MINGW64 /e/git pushing
$ git status
fatal: not a git repository (or any of the parent directories): .git
Personal@LAPTOP-SKVEHBA2 MINGW64 /e/git pushing
$ git init
Initialized empty Git repository in E:/git pushing/.git/
Personal@LAPTOP-SKVEHBA2 MINGW64 /e/git pushing (main)
$ git status
On branch main
No commits yet
nothing to commit (create/copy files and use "git add" to track)

在这里我们可以看到,首先,我们运行了一个命令“cd

然后你可以看到,我们尝试运行一个 git 命令“git status”,通过它我们可以看到任何 git 存储库的当前状态。但由于它是一个非 git 存储库,它给我们一个错误“不是 git 存储库(或任何父目录):.git”。所以要解决这个问题,我们必须首先在目录中初始化 git。

为此,我们运行了“git init”命令,用它在非 git 存储库中初始化 git。然后 git 告诉我们它在当前目录中初始化了一个空的 git 存储库,然后如果我们运行任何 git 命令它不会抛出这种错误(正如您在下一个“git status”命令中看到的那样)。

状态

所以“git status”命令基本上是知道任何现有 git 存储库当前状态的命令。在前面的解释中,您看到通过运行“git status”命令,我们从 git 中获取了这些信息:

  • 我们在默认的主分支上(“在主分支上”)
  • 没有提交尚未完成
  • 最后,没有要添加到暂存区的文件。

现在我们将在目录中创建一个名为“hello_world.cpp”的文件,然后如果我们运行“git status”,我们将得到类似这样的东西

Personal@LAPTOP-SKVEHBA2 MINGW64 /e/git pushing (main)
$ git status
On branch main

No commits yet

Untracked files:
  (use "git add ..." to include in what will be committed)
        hello_world.cpp

nothing added to commit but untracked files present (use "git add" to track)

所以基本上它是说你在创建一个名为“hello_world.cpp”的文件的目录中发生了变化,目前它是未跟踪的。

混帐添加

因此,要跟踪现有 git 存储库中的任何更改,我们必须将其添加到暂存区域,我们可以提交该更改以推送所有提交,或者您可以将更改更改为远程托管存储库。为此,我们运行了命令“git add”。

Personal@LAPTOP-SKVEHBA2 MINGW64 /e/git pushing (main)
$ git add .

Personal@LAPTOP-SKVEHBA2 MINGW64 /e/git pushing (main)
$ git status
On branch main

No commits yet

Changes to be committed:
  (use "git rm --cached ..." to unstage)
        new file:   hello_world.cpp  

现在我们将更改添加到暂存区域,让我们提交这些更改。

git 提交

要提交暂存区域中的所有更改,我们有一个命令“git commit -m “a commit message”。

Personal@LAPTOP-SKVEHBA2 MINGW64 /e/git pushing (main)
$ git commit -m "created hello_wprld.cpp"
[main (root-commit) bb198fb] created hello_wprld.cpp
1 file changed, 8 insertions(+)
create mode 100644 hello_world.cpp

现在我们必须添加一个远程源来告诉 git,无论何时我们想要为当前存储库推送或拉取任何东西,您都必须只从该远程源执行操作。所以,让我们这样做

git 添加原点

要将远程源添加到现有的本地存储库,首先您必须在您的 GitHub 帐户中创建一个存储库。

第 1 步:首先只需转到您的 GitHub 帐户中的存储库部分,然后单击新建按钮创建一个新存储库

在我的 github 帐户中创建 repo

第 2 步:然后为您刚刚创建的存储库起一个好听的名称并创建存储库

通过单击创建存储库按钮创建一个新的存储库

第 3 步:然后只需将 URL 复制到 repo 以添加为本地目录中的源

第 4 步:运行命令“git remote add origin

Personal@LAPTOP-SKVEHBA2 MINGW64 /e/git pushing (main)
$ git remote add origin https://github.com/Subrata-Rajak/Git-pushing.git

Personal@LAPTOP-SKVEHBA2 MINGW64 /e/git pushing (main)
$ git remote -v
origin  https://github.com/Subrata-Rajak/Git-pushing.git (fetch)
origin  https://github.com/Subrata-Rajak/Git-pushing.git (push)

执行命令后,您可以通过“git remote -v”命令简单地检查您的远程源是否已定义。

第 6 步:最后 Git 推送

要推送分支,或者您可以说将分支中的更改推送到 Github 存储库,您必须运行此命令“git push origin ”,在我们的例子中,分支名称是“main”。

Personal@LAPTOP-SKVEHBA2 MINGW64 /e/git pushing (main)
$ git push origin main
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Delta compression using up to 8 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 327 bytes | 327.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
To https://github.com/Subrata-Rajak/Git-pushing.git
 * [new branch]      main -> main

推送更改后,存储库将如下所示,这就是您可以将分支推送到远程托管的 GitHub 存储库的方式。

推送更改后的回购