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/branch1
和 feature/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
是远程仓库 origin
的 main
分支,remotes/origin/feature/branch2
是远程仓库 origin
的 feature/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 + 远程仓库地址
评论