{"id":17942771,"url":"https://github.com/b1f6c1c4/git-fancy-push","last_synced_at":"2026-04-13T18:03:21.052Z","repository":{"id":87842139,"uuid":"268649880","full_name":"b1f6c1c4/git-fancy-push","owner":"b1f6c1c4","description":"The Ultimate Solution towards \"shallow update not allowed\" in git push","archived":false,"fork":false,"pushed_at":"2020-06-07T22:26:46.000Z","size":11,"stargazers_count":3,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-09T02:31:30.647Z","etag":null,"topics":["git","git-push","github"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/b1f6c1c4.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-06-01T22:52:48.000Z","updated_at":"2020-08-08T17:10:59.000Z","dependencies_parsed_at":"2023-03-04T08:15:09.981Z","dependency_job_id":null,"html_url":"https://github.com/b1f6c1c4/git-fancy-push","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/b1f6c1c4%2Fgit-fancy-push","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/b1f6c1c4%2Fgit-fancy-push/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/b1f6c1c4%2Fgit-fancy-push/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/b1f6c1c4%2Fgit-fancy-push/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/b1f6c1c4","download_url":"https://codeload.github.com/b1f6c1c4/git-fancy-push/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247008872,"owners_count":20868435,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["git","git-push","github"],"created_at":"2024-10-29T03:07:18.979Z","updated_at":"2026-04-13T18:03:16.008Z","avatar_url":"https://github.com/b1f6c1c4.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# `git-fancy-push`: \"shallow update not allowed\" _killer_\n\n\u003e The ULTIMATE solution towards \"shallow update not allowed\" during a git push\n\n:worried: :frowning: :anguished:\nEver seen this is your life? Got annoyed?\n:anguished: :frowning: :worried:\n\n```bash\ngit push origin master\n## To github.com:...\n##  ! [remote rejected] master -\u003e master (shallow update not allowed)\n## error: failed to push some refs to 'git@github.com:...\n```\n\n:wink: :kissing_smiling_eyes: :stuck_out_tongue:\nHere is your solution!\n:stuck_out_tongue: :kissing_smiling_eyes: :wink:\n\n(**Guranteed no hidden `--unshallow`. Instant upload to GitHub.**)\n\n```bash\n# Get jq\n(which pacman  \u0026\u0026 sudo pacman  -S      jq) ||\n(which apt-get \u0026\u0026 sudo apt-get install jq) ||\n(which brew    \u0026\u0026      brew    install jq)\nwhich jq\n# Get git-fancy-push\nmkdir -p ~/.local/bin/ \u0026\u0026 curl -o ~/.local/bin/git-fancy-push https://raw.githubusercontent.com/b1f6c1c4/git-fancy-push/master/git-fancy-push\nwhich git-fancy-push || export PATH=\"$HOME/.local/bin:$PATH\"\n# Do the push\ngit fancy-push origin master\n## ...\n## Notice: Push successful! (to ...)\n## ...\n```\n\n## Usage\n\nThe CLI is 100% compatible with that of `git push`. You just replace `git push` with `git fancy-push`.\nOf course, you need to put the `git-fancy-push` script in your `PATH` some where.\nIt will start fixing the problem once you encounter a \"shallow update not allowed\" problem.\n\nIf you enounter problem, you can add `--verbose` as the _first_ argument for `git-fancy-push`, like this:\n`git fancy-push --verbose origin master`\n\n## Dependency\n\n- `jq` - [here](https://stedolan.github.io/jq/)\n- `bash`\n- `git`\n- `curl`\n- `awk`\n\n## Internals\n\n`git-fancy-push` is based on GitHub v3 API.\nIt recursively reads the commits that are not yet on GitHub and upload it using GitHub API.\n\n## Limitation\n\n- It will only work for GitHub.\n    Both `git@github.com:` or `https://github.com/` will work.\n    It won't work for `file://`, GitLab, BitBucket, etc.\n    If you want support for other platforms, create an issue or pull request.\n- It will fail on commits with a `mergetag` header, which will be added by newer versions of Git\n    during merging a signed annotated tag.\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fb1f6c1c4%2Fgit-fancy-push","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fb1f6c1c4%2Fgit-fancy-push","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fb1f6c1c4%2Fgit-fancy-push/lists"}