How to upload large files to stackoverflow that have no extension? - github

I'm trying to push my project to github yet it complains:
remote: error: File Godot.app/Contents/MacOS/Godot is 156.41 MB; this exceeds GitHub's file size limit of 100.00 MB
I tried downloading Git Large File Storage, but it seems to require a file extension to work. As you can see my file does not have an extension.
How can I upload it to github?

but it seems to require a file extension to work
Strange, considering git-lfs/git-lfs issue 712 does mention:
You can specify any filename or path in your repository.
You aren't limited to using file extensions.
You could also track a specific directory with git lfs track 'assets/*' or an entire directory tree with git lfs track 'assets/**/*'.
You could also track individual files specifically with git lfs track path/to/file, which will track only that file.
That being said, any generated executable (like a GotDot app one) would not, ideally, be pushed.

Related

Clone repository only contain about 20GB instead of 40GB

As the title says, I clone a repository from Azure DevOps repository and the clone size is about 20GB. However, the one I push the files is about 40GB workth of files. This is a Unity project and have a lot of files, images, etc. I also add .gitignore file and .attributes file that contain lfs track information and ingnore specific file formats. I tested with Unity if it works and it seems ok so far except I keep getting an error. Will be cause any problems if I keep working on the files I clone? How can I check to see if clone filse are ok or not.
I opened up these clone files (20GB) and change little bit of code. I am getting one error.
I tried with the original one (one that I push from the local computer 40GB) I tested same thing but did not get the error what I got on the 20GB one.
I tried with Github Desktop and Git Bush.
Also, I did LFS install.

How do I add a compiled application to the gitignore file?

I'm trying to upload my copy of Godot to my own github and it complains:
remote: error: File Godot.app/Contents/MacOS/Godot is 156.41 MB; this exceeds GitHub's file size limit of 100.00 MB
Ideally I dont want to upload this file at all.
I tried adding it to the .gitignore file.
I tried adding all kinds of different ways to type the path but none of them worked.
Heres the end of the file:
# Scons progress indicator
.scons_node_count
# ccls cache (https://github.com/MaskRay/ccls)
.ccls-cache/
# compile commands (https://clang.llvm.org/docs/JSONCompilationDatabase.html)
compile_commands.json
# Cppcheck
*.cppcheck
# https://clangd.llvm.org/ cache folder
.clangd/
.cache/
# The Godot app
/Godot.app
The pattern /Godot.app should match your file just fine. However, if the file is already added to the repository, then .gitignore has no effect on it. The .gitignore file affects only files which are untracked.
In your case, your file is in the history, and it needs to be removed from the entire history if you want to upload it to GitHub. You can do a git rebase -i to go back in history to the point at which it was added and remove it from history, or, if it was added in the most recent commit, you can remove it with git rm -r Godot.app and then run git commit --amend.
You could also use git filter-branch or git filter-repo to filter it out from the history.

How to get source code from GitHub data export?

I decided to backup all my github data and found this: https://help.github.com/en/github/understanding-how-github-uses-and-protects-your-data/requesting-an-archive-of-your-personal-accounts-data
I managed to get the .tar.gz file and it seems to contain all my repositories but there is no source code in there. Judging by the size, it looks like some kind of archive in objects/pack/*.pack
Is there any way to access original source code?
it looks like some kind of archive in objects/pack/*.pack
According to Download a user migration archive:
The archive will also contain an attachments directory that includes all attachment files uploaded to GitHub.com and a repositories directory that contains the repository's Git data.
Those might be bare repositories or bundles.
Once uncompressed, try and git clone one of those folders (to a new empty folder)
The OP johnymachine confirms in the comments:
git clone .\repositories\username\repository.git\ .\repository\
Meaning repository.git is a bare repo (Git database only, no files checked out)

undo git add to remove staged files

I accidentally use git add . to add files to staging area and did a git push which got rejected because I have a large file. I want to undo git add . to unstage the files added. After some search I found git reset to reset the staged files. I also go to my work directory and delete that large file. This time I tried git add ./myfolder/myfile.py but still got rejected by remote saying that contains large files. remote: error: File myfolder/myfile.parquet is 374.75 MB; this exceeds GitHub's file size limit of 100.00 MB. This file was git add in the first time. It seems that git reset does not work. How to do this properly?

Dealing with large MLModel files and Github Repository

I have a Swift written app, the app itself contains a .mlmodel file that's rather large - 230MB. On the Github's website you can read the following:
GitHub will warn you when pushing files larger than 50 MB. You will not be allowed to push files larger than 100 MB.
When I try to push my project to the remote repository, I get the:
The remote repository rejected commits.
Which is expected due to the large size. My question is how to deal with this situation? Is there a work around this?
If you want to keep a reference of that large file (>200MB) in your GitHub repository, you would nee to:
activate Git LFS, adding your large file to your repo as in this tutorial
push a reference to your GitHub repo
As detailed here:
Git LFS is available for every repository on GitHub, whether or not your account or organization has a paid plan.
Every account using Git Large File Storage receives 1 GB of free storage and 1 GB a month of free bandwidth