git上传项目遇到的问题

常用分支命令

 git branch -a  //查看远程分支,远程分支会用红色表示出来
 git checkout -b c1 //创建新分支并切换到新分支
 git reset –hard HEAD^ //回退到上一个版本
 git reset –hard HEAD~2 //回退到上2个版本
 git reset --hard 版本号 //回退到指定版本,可以先git log查看版本号

问题解决

git本地分支与远程分支建立连接

我想让我的本地分支c1和远程分支main建立连接

git branch --set-upstream-to=origin/main c1

这样就可以直接使用git pull拉去当前分支对应远程分支的内容了

切换到指定远程分支

先查看远程仓库的所有分支,然后执行git checkout 命令切换分支。命令后跟分支的名字。如果命令后是远程分支,则会创建一个分离头分支。在此分支上可以查看代码、更改并提交,也可以放弃在此过程中所做的任何提交通过切换回分支,在不影响任何分支的情况下进行状态设置。

git branch -a

//$ git branch -a
//* dev
//  remotes/origin/HEAD -> origin/dev
//  remotes/origin/dev
//  remotes/origin/master

git checkout  分支     //切换分支

//$ git branch
//* (HEAD detached at origin/master)
//dev

git checkout -b dev origin/dev ,作用是checkout远程的dev 分支,在本地起名为dev 分支,并切换到本地的dev 分支
git checkout -b master  origin/master,作用是checkout远程的master分支,在本地起名为master分支,并切换到本地的master分支
查看本地分支及追踪的分支
git branch -vv   //显示本地所有分支
将本地分支推送到远程分支
git push <远程主机名> <本地分支名>:<远程分支名>
git push -u origin c1:main

这里我没推上去

然后选择合并分支再进行推送,合并分支要注意分支冲突。

分支代码合并到主分支

  1. 首先切换到自己的分支(比如分支叫:dev)

git checkout dev
  1. 把本地分支拉取下来

git pull 或者 git pull origin dev
  1. 切换到主分支master

git checkout master
  1. 合并代码到主分支上

git merge dev
  1. 检查一下是否合并成功,是否有冲突

git status
  1. 检查没问题,推送代码

git push 
或
git push origin master

主分支代码拉取到自己分支上

  1. 首先检查自己现在在哪个分支,如果在dev开发分支,看是否有最新代码没有提交,如果有,先 git add . git commit -m 缓存一下代码,不要push,然后切换到主分支。

git checkout master
  1. 把主分支代码拉取下来

git pull
或
git pull origin master
  1. 切换到开发分支dev

git checkout dev
  1. 合并主分支的代码到开发分支上

git merge master
  1. 检查一下是否合并成功,是否有冲突

git status
  1. 检查没问题,推送代码

git push
或
git push origin dev

vscode中修改/重置git远程仓库地址

1.修改地址
 1.查看当前remotes
      git remote -v
 2.修改remotes   
      git remote set-url origin https://github.com/STATICHIT/OSS_Backend.git
2.重置地址
1.删除当前地址
      git remote rm origin
 2.新增地址
      git remote add origin https://github.com/STATICHIT/OSS_Backend.git
3.直接修改git config文件(没试过)

如果你的项目有加入版本控制,那可以到项目根目录下,查看隐藏文件夹, 发现.git文件夹,找到其中的config文件,就可以修改其中的git remote origin地址了

git提示错误:On branch mainYour branch and 'origin/main' have diverged,and have 6 and 1 different commits each, respectively. (use "git pull" to merge the remote branch into yours)

经过两次项目消失以后得出的结果,我

git pull 提示错误: fatal: refusing to merge unrelated histories

在拉取远程仓库的项目时提示错误:

这个错误表示我有一个包含提交的新的git存储库,我想从现有的远程仓库中拉取,合并变得不兼容。因为分支和远程仓库的离是记录不同,当我试图合并两个完全不相关的分支的时候,git发现了这种情况但是无法处理。

也就是我要上传到的远程仓库的分支上的代码没有实现clone到本地,所以变得不兼容。

解决:

在“git pull”和“git push”的命令中添加“--allow-unrelated-histories”让git允许提交不关联的代码。

git pull origin master --allow-unrelated-histories
git push origin master --allow-unrelated-histories

其次,出现这种错误还有可能是如下问题:

  1. 有一个包含一些提交的新 Git 存储库。然后,您尝试从现有的远程仓库中提取。合并变得不兼容,因为分支和远程拉取的历史不同。当你试图合并两个完全不相关的分支时,Git 看到了这种情况,它不知道该怎么做。

2. 目录有问题.git。它可能在某些时候被意外删除或损坏。如果您克隆或清理了项目,则可能会发生这种情况。此处发生错误是因为 Git 没有有关本地项目历史的必要信息。

3. 当您尝试从远程仓库推送或拉取数据时,分支位于不同的HEAD位置,并且由于缺乏共性而无法匹配。

如何删除git远程仓库里面上传的多余文件

这里我只需要保留一个oss-backstage文件夹,但是上传了很多文件上去。

这里我应该把其他文件删掉

删除步骤:

  1. 查看远程仓库有哪些文件
git rm -r -n --cached xxx

  1. 删除远程仓库的指定文件
git rm -r --cached xxx

此时远程仓库文件没有被删除,只是删除了暂存区的文件,需要继续执行以下步骤。

  1. 本地仓库与远程仓库同步
  1. 提交到本地

git commit -m "删除部分文件"

  1. 推送到本地

git push origin main

此时远程仓库已同步删除,删除文件显示在更改区域。

猜你喜欢

转载自blog.csdn.net/m0_62811051/article/details/129506017