git使用时出现的问题小汇总

git提交

1
2
3
4
git add * //将所有上传文件进入缓存区域
git commit -m "submit" //提交申请注释,双引号里面就是注释内容
(*) git remote add origin https //关联远程仓库,关联后以后就可以不再重复关联
git push -u origin main //推入仓库main分支

-m

git commit 命令中,-m 选项用于指定提交消息。Git 提交时需要一个消息来描述这次提交的目的或更改内容。使用 -m 选项可以让你在命令行中直接输入提交消息,而不是打开编辑器。使用 -m 选项可以快速地提供提交消息。

如果你不使用 -m 选项,Git 会打开你配置的默认文本编辑器(例如 Vim、Nano 等),让你在编辑器中输入提交消息。这适用于较长或复杂的提交消息,允许你在编辑器中进行详细描述和格式化。

-u

在git push -u origin main中我们可以看到有个-u,-u 是–set-upstream的缩写。它的作用是将本地分支与远程分支建立跟踪关系。它有一下这几点作用:

  • 将本地分支与远程分支关联起来,使得以后可以简化 git pushgit pull 命令的使用。
  • 设置当前分支的上游分支(即跟踪的远程分支),方便在以后的操作中,Git 可以自动推送和拉取数据。

error: failed to push some refs to ‘http’

rror: failed to push some refs to 'http'

这个报错是指本地的文件和仓库中有冲突的部分,所以要先拉取github上的,然后再推上去。

1
2
git pull origin
git push origin main (或者master)

error: src refspec main does not match any

由于是新创建的仓库还没有main分支(或者是你还没切换到这个分支上面)

1
git checkout -b main   

切换到当前分支main。

如何将msater的内容合并到main分支,并删除master?

要将 master 分支的内容合并到 main 分支,并删除 master 分支,你可以按照以下步骤进行操作。这些步骤假设你已经在本地仓库中,并且你希望在本地和远程仓库中同步这些更改。

  1. 切换到 main 分支: 确保你在 main 分支上,使用以下命令切换到 main 分支:

    1
    git checkout main
  2. 更新 main 分支: 确保 main 分支是最新的。如果你正在使用远程仓库,先拉取远程更新:

    1
    git pull origin main
  3. **合并 master 分支到 main**: 使用以下命令将 master 分支的内容合并到 main 分支:

    1
    git merge master

    如果有合并冲突,Git 会提示你解决冲突。解决所有冲突后,完成合并并提交更改:

    1
    2
    git add <conflicted-files>
    git commit
  4. 推送合并后的 main 分支到远程仓库: 将合并后的 main 分支推送到远程仓库:

    1
    git push origin main
  5. 删除 master 分支

    • 在本地删除 master 分支: 确保你已经切换到 main 分支后,可以删除本地的 master 分支:

      1
      git branch -d master

      如果 master 分支没有完全合并到 main,而你确定要删除,可以使用 -D 强制删除:

      1
      git branch -D master
    • 在远程删除 master 分支: 使用以下命令将 master 分支从远程仓库删除:

      1
      git push origin --delete master

fatal: refusing to merge unrelated histories

表示 Git 拒绝合并两个没有共同历史的分支或仓库。这通常发生在以下几种情况下:

  1. 两个分支或仓库的历史完全不同
    • 比如,你尝试合并两个完全不同的项目,或者一个是新创建的仓库,另一个是老的仓库。
  2. 从远程仓库克隆时历史不同
    • 如果你从一个远程仓库克隆了一个新的仓库,而本地仓库中已经有一些历史记录,Git 会认为这些历史不相关。

可以使用 --allow-unrelated-histories 选项来允许合并不相关的历史。以下是详细的步骤:

  1. 切换到 main 分支: 确保你在目标分支(通常是 main 分支)上:

    1
    git checkout main
  2. 执行合并命令并允许不相关的历史: 使用 --allow-unrelated-histories 选项来合并 master 分支到 main 分支:

    1
    git merge master --allow-unrelated-histories

    这会允许 Git 合并两个没有共同历史的分支。

  3. 解决合并冲突: 如果在合并过程中遇到冲突,Git 会提示你解决这些冲突。解决冲突后,完成合并:

    1
    2
    git add <conflicted-files>
    git commit
  4. 推送合并后的 main 分支到远程仓库: 将合并后的 main 分支推送到远程仓库:

    1
    git push origin main

git使用时出现的问题小汇总
https://bayeeaa.github.io/2024/07/29/git使用时出现的问题小汇总/
Author
Ye
Posted on
July 29, 2024
Licensed under