Git常用命令

## git clone 仓库
git clone https://github.com/minterjia/minterjia.git
## 查看状态
git status
## 添加所有文件到暂存区
git add .
## 把文件提交到仓库
git commit -m '第一次提交'
git commit -m 'Initial commit'
## 推送至远程仓库
git push


## git初始化
git init
## 添加所有文件到暂存区
git add .
## 把文件提交到仓库
git commit -m 'Initial commit'
## git remote add origin 你的远程库地址 — 关联到远程库
git remote add origin git@github.com:minterjia/minterjia.github.io.git
## 强制提交推送至远程仓库master
git push -u origin master -f
## 移除名为 "origin" 的远程仓库
git remote rm origin
## 清除本地缓存提交
git rm -r --cached .

查看本地分支

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分支

要在本地创建一个名为 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 中删除。

本地分支更名

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

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://github.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 push到GitHub的时候报错 出现error: remote origin already exists. 翻译过来呢就是 错误:远程源已经存在。

## 原因分析:

- 错误:远程源已经存在。

- 原因:本地git 已经配置了远程仓库地址,所以当 git 再次push到其他的仓库地址时将会提示远程仓库已经存在。

## 解决方案:

- 第一: 查看远程库的信息: git remote -v

- 第二: 删除现有的远程仓库: git remote rm origin

- 第三: 建立新的远程仓库地址: git remote add origin + 远程仓库地址