目 录CONTENT

文章目录

GitNote

米尔嘉
2023-07-02 / 0 评论 / 4 点赞 / 480 阅读 / 7,124 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2023-12-29,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

Git常用命令

git status                    //查看状态
git add .                     //添加所有文件到暂存区
git commit -m '第一次提交'      //把文件提交到仓库
git push                      //推送至远程仓库
git rm -r --cached .  //清除本地缓存提交
git add .         //添加所有文件到暂存区
git commit -m 'delete'  /把文件提交到仓库
git push -u origin master -f //强制提交推送至远程仓库master
git remote rm origin  //移除名为 "origin" 的远程仓库。
git commit -m “Initial commit” //把文件提交到仓库

yum install -y git

yum install -y git 是在使用基于 Red Hat 的 Linux 发行版(如 CentOS、Fedora)上安装 Git 的命令。它会使用 yum 包管理器自动安装 Git 并自动确认所有提示。

请注意,您需要具有管理员权限或以 root 用户身份运行该命令。

确保您已连接到服务器,并执行以下步骤来安装 Git:

  1. 打开终端:使用 SSH 或其他远程连接工具连接到您的服务器,并打开终端。

  2. 运行安装命令:在终端中,输入以下命令并按下 Enter 键:

    sudo yum install -y git
    

    这将使用 yum 包管理器自动安装 Git,并使用 -y 标志自动确认安装过程中的所有提示。

  3. 等待安装完成:命令将开始下载和安装 Git。请耐心等待安装过程完成。

  4. 验证安装:安装完成后,您可以通过运行以下命令验证 Git 是否成功安装:

    git --version
    

    如果成功安装,将显示 Git 的版本号。

现在,您已经在服务器上成功安装了 Git。您可以使用 Git 进行版本控制和代码管理。

git --version

如果您已成功安装 Git,可以通过运行以下命令来验证 Git 的版本:

git --version

该命令将显示已安装 Git 的版本号。例如,输出可能类似于:

git version 2.33.1

这表示您的系统上安装的 Git 版本为 2.33.1。

请注意,如果您在安装过程中遇到任何错误或问题,请确保您具有适当的权限,并且已正确执行了之前提到的安装步骤。

查看本地分支

git branch 命令用于列出当前仓库中的分支,并标记当前所在的分支。执行 git branch 命令时,会列出本地仓库中的所有分支,并在当前所在的分支前面添加一个星号 (*)。

例如,执行 git branch 命令可能会得到如下输出:

* main
  feature/branch1
  feature/branch2

上述示例表示当前所在的分支是 main,而仓库中还存在两个分支:feature/branch1feature/branch2

如果您想查看远程仓库中的分支信息,可以使用 git branch -r 命令。这将列出远程仓库中的所有分支。

如果您希望查看本地和远程仓库中的所有分支,可以使用 git branch -a 命令。这将同时列出本地和远程仓库中的所有分支信息。

请注意,git branch 命令只是用于查看分支信息,并不会创建或删除分支。要创建新分支,可以使用 git branch <分支名称> 命令。要删除分支,可以使用 git branch -d <分支名称> 命令。

查看远程分支

要查看远程分支,可以使用以下命令:

git branch -r

该命令将显示所有远程分支的列表。每个远程分支都以 origin/ 开头,表示它是远程仓库 origin 的分支。

如果您想查看远程分支的详细信息,可以使用以下命令:

git remote show origin

该命令将显示与远程仓库 origin 相关的信息,包括远程分支、本地分支与远程分支的对应关系以及远程仓库的 URL 等。

显示所有分支

git branch -a
命令用于显示所有分支,包括本地分支和远程分支。

执行该命令后,会列出所有分支的列表,每个分支都以不同的前缀表示其类型:

  • 本地分支以 * 标记,并以普通文本显示。
  • 远程分支以远程仓库的名称作为前缀,并以普通文本显示。

示例输出可能如下所示:

* main
  feature/branch1
  remotes/origin/main
  remotes/origin/feature/branch2

在上面的示例中,main 是当前所在的本地分支,feature/branch1 是另一个本地分支,remotes/origin/main 是远程仓库 originmain 分支,remotes/origin/feature/branch2 是远程仓库 originfeature/branch2 分支。

通过执行 git branch -a 命令,您可以获取完整的分支列表,包括本地和远程分支,以便更好地了解您的代码库的状态和分支结构。

创建本地分支

要在本地仓库中创建一个新的分支,可以使用以下命令:

git branch <branch_name>

其中,<branch_name> 是您要创建的分支的名称。

例如,要创建一个名为 feature/branch1 的新分支,可以运行以下命令:

git branch feature/branch1

执行该命令后,Git 将在本地仓库中创建一个新的分支 feature/branch1。该分支将从当前所在的分支(通常是主分支)分叉出来,包含与当前分支相同的提交历史。

要切换到新创建的分支,可以使用以下命令:

git checkout <branch_name>

例如,要切换到 feature/branch1 分支,可以运行以下命令:

git checkout feature/branch1

现在您已经成功创建了一个新的本地分支,并切换到该分支上进行工作。

创建本地分支dev
git branch dev
git checkout dev

如果您想要创建一个名为 dev 的本地分支,可以使用以下命令:

git branch dev

执行该命令后,Git 将在本地仓库中创建一个名为 dev 的新分支。该分支将从当前所在的分支(通常是主分支)分叉出来,包含与当前分支相同的提交历史。

请注意,创建分支后,您需要使用 git checkout 命令切换到新创建的分支,才能在该分支上进行操作。您可以使用以下命令切换到 dev 分支:

git checkout dev

这样,您就可以在 dev 分支上进行开发或其他操作了。

增加远程分支

要在远程仓库上创建一个新的分支,可以使用以下命令:

git push origin <local_branch_name>:<remote_branch_name>

其中,<local_branch_name> 是本地分支的名称,<remote_branch_name> 是要在远程仓库上创建的分支的名称。

例如,如果要将本地分支 feature/branch1 推送到远程仓库 origin 并创建名为 feature/branch1 的远程分支,可以运行以下命令:

git push origin feature/branch1:feature/branch1

执行该命令后,Git 将会在远程仓库 origin 上创建一个新的分支 feature/branch1,并将其与本地分支 feature/branch1 关联起来。

请注意,创建远程分支需要有相应的权限。如果您没有权限创建远程分支,可能需要联系仓库的管理员或具有相关权限的人员来执行创建操作。

要在远程仓库中创建一个dev分支

要在远程仓库中创建一个新的分支,并将其推送到远程仓库,可以按照以下步骤进行操作:

  1. 首先,创建一个本地分支并切换到该分支。使用以下命令创建名为 dev 的本地分支:

    git branch dev
    

    然后切换到该分支:

    git checkout dev
    
  2. 在本地分支上进行所需的修改和提交。

  3. 推送本地分支到远程仓库。使用以下命令将本地分支 dev 推送到远程仓库:

    git push -u origin dev
    

    这将会将本地分支 dev 推送到名为 origin 的远程仓库,并在远程仓库中创建一个与本地分支同名的分支。

    -u 参数用于将本地分支与远程分支关联起来,使得以后的推送操作可以简化为 git push,而不需要指定分支名。

现在,您已成功创建并推送了一个新的远程分支 dev

要在远程仓库中创建一个next分支
git branch next

要在本地创建一个名为 next 的分支,可以使用以下命令:

git branch next

这将在本地仓库中创建一个名为 next 的新分支,该分支将从当前所在的分支(通常是主分支)分叉出来,包含与当前分支相同的提交历史。

然后,您可以使用 git checkout 命令切换到 next 分支:

git checkout next

这样,您就可以在 next 分支上进行开发或其他操作了。

请注意,这些操作只在本地进行,并未涉及远程仓库。如果您希望将 next 分支推送到远程仓库,可以使用 git push 命令:

git push -u origin next

这将把本地的 next 分支推送到名为 origin 的远程仓库,并在远程仓库中创建一个与本地分支同名的分支。

本地分支 dev 推送到远程仓库 origin 并创建名为 dev 的远程分支。
git branch dev
git checkout dev
git push origin dev:dev

根据您提供的命令 git push origin dev:dev,您想要将本地分支 dev 推送到远程仓库 origin 并创建名为 dev 的远程分支。

执行该命令后,Git 将会将本地分支 dev 推送到远程仓库 origin 并创建名为 dev 的远程分支。如果该分支在远程仓库上不存在,则会创建一个新的分支;如果该分支已经存在,则会更新该分支的内容。

请确保您有足够的权限执行此操作,并且远程仓库 origin 已经正确配置。

如果推送成功,您将在命令行中看到相应的确认消息。例如:

Total 0 (delta 0), reused 0 (delta 0)
To <remote_repository_url>
 * [new branch]      dev -> dev

这表示成功将本地分支 dev 推送到远程仓库 origin 并创建了名为 dev 的远程分支。

本地分支 newdev 推送到远程仓库 origin 并创建名为 newdev 的远程分支。
git branch newdev
git checkout newdev
git push origin newdev:newdev

删除本地分支

要删除本地分支,您可以使用 git branch -d 命令。请按照以下步骤进行操作:

  1. 打开终端或命令行窗口。

  2. 切换到包含要删除分支的本地仓库的目录。

  3. 运行以下命令来删除分支:

    git branch -d <分支名>
    

    <分支名> 替换为您要删除的分支的名称。

    例如,如果要删除名为 feature 的分支,您可以运行:

    git branch -d feature
    

    如果分支上有未合并的更改,Git 会给出警告。如果您确定要删除该分支并丢弃未合并的更改,请使用 -D 选项而不是 -d

    git branch -D <分支名>
    
  4. 执行命令后,本地分支将被删除。

请注意,删除分支是一个不可逆的操作,请确保您真正想要删除该分支。如果您删除了错误的分支,可能会丢失相关的提交历史。

如果您需要删除远程分支,请参考以下命令:

git push origin --delete <远程分支名>

<远程分支名> 替换为您要删除的远程分支的名称。

删除远程分支

要删除远程分支,可以使用以下命令:

git push origin --delete <branch_name>

其中,<branch_name> 是要删除的远程分支的名称。

例如,如果要删除名为 feature/branch1 的远程分支,可以运行以下命令:

git push origin --delete feature/branch1

执行该命令后,Git 将会删除远程仓库 origin 上的指定分支。

请注意,删除远程分支需要有相应的权限。如果您没有权限删除远程分支,可能需要联系仓库的管理员或具有相关权限的人员来执行删除操作。

git push origin --delete add-license-1

详解:
根据您提供的命令 git push origin --delete add-license-1,您想要删除名为 add-license-1 的远程分支。

执行该命令后,Git 将会删除远程仓库 origin 上的 add-license-1 分支。请确保您有足够的权限执行此操作。

如果分支删除成功,您将在命令行中看到相应的确认消息。例如:

To <remote_repository_url>
 - [deleted]         add-license-1

这表示 add-license-1 分支已成功从远程仓库 origin 中删除。

执行截图
20230723232546

本地分支更名

要在本地对分支进行重命名,您可以使用以下命令:

git branch -m <旧分支名> <新分支名>

请将 <旧分支名> 替换为您要重命名的现有分支的名称,将 <新分支名> 替换为您想要重命名的分支的新名称。

例如,如果您要将名为 feature1 的分支重命名为 feature-new,则命令如下:

git branch -m feature1 feature-new

执行命令后,Git 将会将分支 feature1 重命名为 feature-new

请注意,重命名分支只会在本地进行,远程仓库中的分支名称不会自动更改。如果您想将重命名应用到远程仓库,您需要将重命名后的分支推送到远程仓库。可以使用以下命令将重命名后的分支推送到远程仓库:

git push origin -u <新分支名>

<新分支名> 替换为您重命名后的分支的新名称。

git push 提交分支

在使用 git push 命令时,它默认会将当前分支的提交推送到与之关联的远程分支。如果您已经在本地分支上进行了一些提交,并且想要将这些提交推送到远程仓库,可以按照以下步骤进行操作:

  1. 首先,确保您已经将本地分支切换到要推送的分支上。可以使用 git branch 命令来查看当前所在的分支,使用 git checkout 命令来切换到目标分支。

  2. 确认远程仓库的设置。可以使用 git remote -v 命令查看当前配置的远程仓库信息。如果没有配置远程仓库,可以使用 git remote add 命令添加一个远程仓库。例如,假设您要将推送到名为 origin 的远程仓库:

    git remote add origin <远程仓库URL>
    
  3. 确保您的本地分支与远程分支关联。如果是首次推送该分支,可以使用 -u 参数来建立关联。例如,假设要将本地分支 next 推送到远程仓库的 next 分支:

    git push -u origin next
    

    这样,以后的推送操作可以简化为 git push,Git 会自动将提交推送到关联的远程分支。

  4. 如果已经建立了分支关联,可以直接使用 git push 命令将提交推送到远程仓库:

    git push
    

    Git 会将当前分支的提交推送到与之关联的远程分支。

请注意,如果远程分支已经存在,并且与本地分支有不同的提交历史,推送操作可能会被拒绝。在这种情况下,您可以使用 git pull 命令先将远程分支的更新拉取到本地,解决冲突(如果有的话),然后再进行推送。


在使用 git push 命令时,它会将当前分支的提交推送到与之关联的远程分支。如果您已经在本地分支上进行了一些提交,并且想要将这些提交推送到远程仓库,可以按照以下步骤进行操作:

  1. 首先,确保您已经将本地分支切换到要推送的分支上。可以使用 git branch 命令来查看当前所在的分支,使用 git checkout 命令来切换到目标分支。

  2. 确认远程仓库的设置。可以使用 git remote -v 命令查看当前配置的远程仓库信息。如果没有配置远程仓库,可以使用 git remote add 命令添加一个远程仓库。例如,假设您要将推送到名为 origin 的远程仓库。

  3. 使用以下命令将本地分支的提交推送到远程仓库:

    git push origin <分支名称>
    

    <分支名称> 替换为您要推送的分支的名称。例如,如果要将当前分支的提交推送到与之关联的远程分支,可以执行:

    git push origin
    

    这将把当前分支的提交推送到与之关联的远程分支。

请注意,如果远程分支已经存在,并且与本地分支有不同的提交历史,推送操作可能会被拒绝。在这种情况下,您可以使用 git pull 命令先将远程分支的更新拉取到本地,解决冲突(如果有的话),然后再进行推送。

git merge 合并分支

要合并分支,您可以使用 git merge 命令。以下是合并分支的一般步骤:

  1. 确保您当前位于接受更改的目标分支(通常是主分支)。可以使用 git branch 命令查看当前所在的分支,并使用 git checkout 命令切换到目标分支。

  2. 执行以下命令将源分支的更改合并到目标分支:

    git merge <源分支名称>
    

    <源分支名称> 替换为要合并的源分支的名称。这将将源分支的更改应用到目标分支上。

  3. 如果存在冲突,Git 会提示您解决冲突。您可以使用合适的编辑器手动解决冲突,然后将文件标记为已解决。

  4. 一旦冲突解决完毕,使用以下命令完成合并:

    git commit
    

    这将创建一个合并提交,包含了源分支的更改和目标分支的更改。

请注意,合并分支可能会导致冲突,特别是当源分支和目标分支都有对同一文件的修改时。在解决冲突时,您需要仔细检查更改并决定如何合并它们。有时候,您可能需要与其他人协作解决冲突。

如果您希望保持分支历史的线性,并且不希望创建一个新的合并提交,您可以考虑使用 git rebase 命令来将源分支的更改应用到目标分支上。

请根据您的具体情况选择适合的合并策略,并确保在合并前备份重要的代码。

git push 默认提交到同名分支

git push 命令用于将本地仓库的提交推送到远程仓库。它将本地分支的提交同步到远程仓库中的对应分支。

默认情况下,git push 将会将当前分支的提交推送到远程仓库中的同名分支。例如,如果您当前位于 main 分支,并执行 git push 命令,则会将 main 分支的提交推送到远程仓库中的 main 分支。

如果您想将本地分支的提交推送到远程仓库中的不同分支,可以使用以下命令格式:

git push <远程仓库名称> <本地分支名称>:<远程分支名称>

<远程仓库名称> 替换为远程仓库的名称(通常为 origin),<本地分支名称> 替换为要推送的本地分支的名称,<远程分支名称> 替换为要将提交推送到的远程分支的名称。

例如,要将本地的 feature/branch1 分支推送到远程仓库的 main 分支,可以使用以下命令:

git push origin feature/branch1:main

这将把 feature/branch1 分支的提交推送到远程仓库的 main 分支。

请注意,如果远程分支不存在,则 git push 命令会自动创建该分支并将提交推送到新创建的分支。

如果您只想将当前分支的提交推送到远程仓库的同名分支,可以简化为 git push 命令而无需指定分支名称。

远程仓库地址变了,本地如何修改远程仓库的地址

查看所有远程仓库
git remote
重新设置远程仓库地址
git remote set-url origin https://gitee.com/xxx/xxxx.git

关联删除修改远程分支

git remote add origin git@github.com:minterjia/Acrylic.git
git remote remove origin git@github.com:minterjia/Acrylic.git
git remote set-url origin git@github.com:minterjia/Acrylic.git

Git同步上游并保留自己本地的修改

要将您的本地修改与上游同步并保留自己的修改,您可以按照以下步骤进行操作:

  1. 添加上游远程仓库:使用以下命令将上游仓库添加为远程仓库:

    git remote add upstream <上游仓库的URL>
    
  2. 拉取上游分支:使用以下命令从上游仓库拉取最新的更改:

    git fetch upstream
    
  3. 合并上游分支:使用以下命令将上游分支的更改合并到您的本地分支:

    git merge upstream/master
    

    如果您当前在一个不同的分支上,请将 upstream/master 替换为您想要合并的上游分支名称。

  4. 解决冲突(如果有):如果在合并上游分支时发生冲突,您需要解决这些冲突。Git 会在冲突的文件中标记出冲突的部分,您需要手动编辑这些文件以解决冲突。

  5. 保留本地修改:在解决冲突后,您的本地修改可能会被覆盖。您可以使用 git stash 命令将本地修改保存到一个临时存储区,然后在合并完成后再应用这些修改。以下是使用 git stash 的示例命令:

    git stash
    

    在合并完成后,使用以下命令将之前保存的本地修改应用回来:

    git stash apply
    

请注意,这些步骤假设您已经将上游仓库添加为远程仓库,并且您当前在正确的本地分支上进行操作。确保根据您的实际情况进行调整。

注意:

git merge --squash upstream/master

有--squash就合并成一个commit,没有的话上游几个就几个

这个没什么好说,你用git pull的时候就是git fetch + git merge

移除上游远程仓库

要从您的 Git 仓库中移除上游远程仓库,可以使用以下命令:

git remote remove upstream

这将移除名为 “upstream” 的远程仓库。请确保在执行此命令之前,您已经添加了正确的远程仓库名称。您可以使用以下命令来查看当前配置的远程仓库:

git remote -v

这将列出您当前配置的所有远程仓库及其 URL。确保找到正确的上游远程仓库名称,并将其替换为上述移除命令中的 “upstream”。

请注意,移除上游远程仓库后,您将无法再从该仓库拉取最新的更改或推送您的更改到该仓库。

git push --set-upstream origin master

git push --set-upstream origin master 命令用于将本地的 master 分支推送到远程仓库 origin,并将其设置为 origin 的上游分支。

在执行该命令之前,请确保您已经将远程仓库 origin 添加到您的 Git 仓库中。如果您还没有添加 origin 远程仓库,可以使用以下命令将其添加:

git remote add origin <远程仓库的URL>

一旦您已经添加了 origin 远程仓库,您可以使用 git push --set-upstream origin master 将本地的 master 分支推送到 origin 远程仓库,并将其设置为 origin 的上游分支。

这样做后,您可以使用 git push 命令来推送 master 分支的更改,而无需指定远程仓库和分支名称。Git 会自动将更改推送到 origin/master 分支。

请注意,如果 origin/master 分支已经存在,并且与本地 master 分支有不同的提交历史,您可能会遇到推送冲突。在这种情况下,您需要解决冲突后才能成功推送您的更改。

git push --set-upstream origin dev

git push --set-upstream origin dev 命令用于将本地分支推送到远程仓库,并将其设置为该远程仓库的上游分支。

在执行该命令之前,请确保您已经将远程仓库 origin 添加到您的 Git 仓库中。如果您还没有添加 origin 远程仓库,可以使用以下命令将其添加:

git remote add origin <远程仓库的URL>

一旦您已经添加了 origin 远程仓库,您可以使用 git push --set-upstream origin dev 将本地分支 dev 推送到 origin 远程仓库,并将其设置为 origin 的上游分支。

这样做后,您可以使用 git push 命令来推送 dev 分支的更改,而无需指定远程仓库和分支名称。Git 会自动将更改推送到 origin/dev 分支。

请注意,如果 origin/dev 分支已经存在,并且与本地 dev 分支有不同的提交历史,您可能会遇到推送冲突。在这种情况下,您需要解决冲突后才能成功推送您的更改。

切换本地分支

查看当前分支
git branch 
切换分支
git checkout master

切换本地分支报错

查看当前分支
git branch 
切换分支
git checkout master

错误信息

git checkout master
hint: If you meant to check out a remote tracking branch on, e.g. 'origin',
hint: you can do so by fully qualifying the name with the --track option:
hint:
hint: git checkout --track origin/<name>
hint:
hint: If you'd like to always have checkouts of an ambiguous <name> prefer
hint: one remote, e.g. the 'origin' remote, consider setting
hint: checkout.defaultRemote=origin in your config.
fatal: 'master' matched multiple (2) remote tracking branches

使用 --track 选项来明确指定要检出的远程跟踪分支。检出名为 origin/master 的远程跟踪分支,并将其与本地的 master 分支关联起来。

git checkout --track origin/master

如果你想要将 origin/master 设置为默认远程跟踪分支,你可以在 Git 配置中进行相应的设置。可以执行以下命令:

git config checkout.defaultRemote origin

这将设置 origin 为默认远程跟踪分支的首选项,这样在执行 git checkout master 时,Git 将自动选择 origin/master 进行检出。不然就会有origin/master和upstream/master

4

评论区