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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当使用git clone命令克隆一个项目时,如果项目缺少文件,可能有以下几种原因: 1. 项目本身缺少文件:有可能在项目的源代码库中确实缺少了某些文件。这可能是由于开发者在提交代码时意外地删除或丢失了文件。 2. 克隆过程中出现错误:在克隆过程中,可能发生了错误,导致某些文件没有被正确地下载到本地。这可能是由于网络连接问题或源代码库中的错误。 3. 误用git clone命令:有可能在使用git clone命令时,出现了一些错误或误用。例如,可能指定了错误的源代码库或分支,导致缺少某些文件。 为了解决这个问题,你可以尝试以下几个方法: 1. 检查源代码库:确保源代码库中确实包含了你需要的文件。你可以在源代码库的页面或README文件中查找关于所需文件的信息。 2. 重新克隆项目:尝试使用正确的git clone命令重新克隆项目。确保你指定了正确的源代码库和分支,并且在克隆过程中没有出现任何错误。 3. 更新项目:如果你已经成功克隆了项目,但某些文件缺失,可能是因为项目已经更新了代码,但你的本地副本没有及时更新。你可以使用git pull命令来获取最新的代码更新。 4. 向项目维护者求助:如果你确定项目确实应该包含所需的文件,但你仍然无法获取它们,你可以联系项目的维护者寻求帮助。他们可能能够提供你需要的文件或解决问题的其他方法。 总之,当你遇到git clone的项目缺少文件的情况时,你可以检查源代码库,重新克隆项目,更新项目或向项目维护者求助来解决这个问题。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [git clone 最新版](https://download.csdn.net/download/weixin_37131373/13100252)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [git clone后修改文件然后再上传覆盖](https://blog.csdn.net/qq_35902025/article/details/128081103)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值