[git操作] git创建仓库上传github报错

操作流程如下

  1. 使用 git init
  2. 使用 git remote add origin 项目ssh链接
  3. git add .

报错如下

Bus error (core dumped)

然后执行任何别的操作都会报错:

fatal: Unable to create 'path .. /.git/index.lock': File exists.

Another git process seems to be running in this repository, e.g.
an editor opened by 'git commit'. Please make sure all processes
are terminated then try again. If it still fails, a git process
may have crashed in this repository earlier:
remove the file manually to continue.

输入git status 查看,之前的add操作确实没有成功:

On branch master

No commits yet

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        Checkpoints/
        Code/
        Data/
        Misc/
        Results/
        Scripts/

nothing added to commit but untracked files present (use "git add" to track)

按照它的提示,把 .git/index.lock 文件手动删掉,然后重新 git add . 就可以了。

修改本地master成为main

  • 参考:https://blog.csdn.net/jiahongfei1213895/article/details/128661543
git branch -m master main

然后拉取remote的仓库

git pull origin main

如果是新建仓库,可能会报错:efusing to merge unrelated histories这通常是因为本地分支上的代码和远程分支上的代码没有共同祖先,也就是说他们之间没有关联。要强制合并两个不相关的历史记录:

git pull origin main --allow-unrelated-histories

pull之后merge,merge之后commit修改

git commit -m  "your commit message"

push的方式

git push --set-upstream origin main # 如果第一次git push失败了,可以这么干

git限制了100MB的大小

所以注意要在 .gitignore 文件处设置好,不要上传大的文件

比如深度学习模型实验中需要忽略的文件,注意不要多加 ./ ,比如 ./Data/* 它还是会上传 Data 的!!!

# data files can't upload
**/__pycache__
Data/NpyData
Data/cuda_normalizers
Data/vahadane_images
Checkpoints
Results
wandb
Code/models/backbones/pretrained_weight
  • 首先使用 git count-objects -vH 查看项目git历史的大小
    在这里插入图片描述

  • 然后使用这个命令找到比较大的文件: git rev-list --all | xargs -rL1 git ls-tree -r --long | sort -uk3 | sort -rnk4 | head -10

列出所有仓库中的对象(包括SHA值、大小、路径等),并按照大小降序排列,列出TOP 10。
在这里插入图片描述
可以看到确实有一些文件已经add进去历史记录了。

所以我们需要修改历史记录。

  • 使用这两个命令删除 ResultsCheckpoints 文件夹下面的数据(历史版本)
git filter-branch --index-filter 'git rm --cached --ignore-unmatch  Results/*' -- --all
git filter-branch --index-filter 'git rm --cached --ignore-unmatch  Checkpoints/*' -- --all

然后使用这几个命令:

rm -Rf .git/refs/original # 删除git的备份
rm -Rf .git/logs/ # 删除logs
git gc # 收集所有松散对象并将它们存入 packfile(垃圾回收)
git prune # 删除所有过期的、不可达的且未被打包的松散对象
  • 因为修改过历史,需要 force 上传,这也是最不好的一点,个人项目无所谓了。
git push origin main --force
# 上传到远程目标分支 git push origin target_branch_in_remote --force

如果在 git pull 之前 git add . 了, pull 报错:

在这里插入图片描述

这个时候只需要 git stash 把变动重新存储起来 ,然后 git pull 拉下来,点击冲突的文件逐一修改合并冲突,然后就可以stash pop 再 commit 了。

多服务器维护同一个项目报错: error: failed to push some refs to ‘github.com:guanjinquan/OSCC-PathologyImageDataset.git’

因为项目是新的,我在add.之前没有pull,然后直接commit和push,结果报错如上。

不知道为啥是新的还会显示 rebase 的 hint。

在这里插入图片描述
然后按照提示的一样,输入 git config pull.rebase false

然后进入了nano页面:
在这里插入图片描述
这个是使用nano进行编辑提交的页面,退出方法为:
Ctrl + X然后输入y再然后回车,就可以退出了
如果你想把默认编辑器换成别的:
方法一、在GIT配置中设置 core.editor: git config --global core.editor “vim”
方法二、编辑~/.gitconfig文件。在core中添加editor = vim。如此以后在使用git的时候就自动使用vim作为编辑

  • 原文链接:https://blog.csdn.net/wuxing164/article/details/78026101
  • 8
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值