{"id":26697408,"url":"https://github.com/viscouspot/gitsync","last_synced_at":"2026-04-02T16:19:09.094Z","repository":{"id":243411763,"uuid":"812362660","full_name":"ViscousPot/GitSync","owner":"ViscousPot","description":"Mobile Git client for syncing a repository between remote and a local directory","archived":false,"fork":false,"pushed_at":"2026-02-19T18:11:42.000Z","size":21685,"stargazers_count":1383,"open_issues_count":79,"forks_count":111,"subscribers_count":9,"default_branch":"main","last_synced_at":"2026-02-19T18:13:36.357Z","etag":null,"topics":["git","obsidian","productivity","sync"],"latest_commit_sha":null,"homepage":"https://gitsync.viscouspotenti.al","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ViscousPot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"ViscousPot","patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"thanks_dev":null,"custom":null}},"created_at":"2024-06-08T17:10:16.000Z","updated_at":"2026-02-19T18:11:48.000Z","dependencies_parsed_at":"2024-08-26T20:33:10.984Z","dependency_job_id":"b03630af-d44b-4a3b-a57e-38345c2077f1","html_url":"https://github.com/ViscousPot/GitSync","commit_stats":null,"previous_names":["viscouspotential/gitsync"],"tags_count":101,"template":false,"template_full_name":null,"purl":"pkg:github/ViscousPot/GitSync","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ViscousPot%2FGitSync","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ViscousPot%2FGitSync/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ViscousPot%2FGitSync/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ViscousPot%2FGitSync/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ViscousPot","download_url":"https://codeload.github.com/ViscousPot/GitSync/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ViscousPot%2FGitSync/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29734004,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-22T20:09:16.275Z","status":"ssl_error","status_checked_at":"2026-02-22T20:09:13.750Z","response_time":110,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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","obsidian","productivity","sync"],"created_at":"2025-03-26T21:19:14.809Z","updated_at":"2026-02-23T01:01:31.511Z","avatar_url":"https://github.com/ViscousPot.png","language":"Dart","readme":"\u003cdiv align=\"center\"\u003e\n  \u003cbr/\u003e\n  \u003cimg \n    src=\"android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp\" width=\"140\" \n  /\u003e\n\n  \u003ch3\u003eGitSync\u003c/h3\u003e\n  \u003ch4\u003eMobile git client for syncing a repository between remote and a local directory\u003c/h4\u003e\n  \n  \u003cp align=\"center\"\u003e\n    \u003ca href=\"#\"\u003e\u003cimg src=\"https://img.shields.io/github/license/ViscousPot/GitSync?v=1\" alt=\"license\"\u003e\u003c/a\u003e\n    \u003ca href=\"#\"\u003e\u003cimg src=\"https://img.shields.io/github/last-commit/ViscousPot/GitSync?v=1\" alt=\"last commit\"\u003e\u003c/a\u003e\n    \u003ca href=\"#\"\u003e\u003cimg src=\"https://img.shields.io/github/downloads/ViscousPot/GitSync/total\" alt=\"downloads\"\u003e\u003c/a\u003e\n    \u003ca href=\"#\"\u003e\u003cimg src=\"https://img.shields.io/github/stars/ViscousPot/GitSync?v=1\" alt=\"stars\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/sponsors/ViscousPot\"\u003e\u003cimg src=\"https://img.shields.io/static/v1?label=Sponsor\u0026message=%E2%9D%A4\u0026logo=GitHub\u0026color=%23fe8e86\" alt=\"sponsor\"\u003e\u003c/a\u003e\n  \u003c/p\u003e\n    \u003cimg alt=\"2024 Gem of the Year (Obsidian Tools)\" src=\"https://img.shields.io/badge/2024%20Gem%20of%20the%20Year%20(Obsidian%20Tools)-black?style=for-the-badge\u0026logo=obsidian\u0026logoColor=hotpink\"\u003e\n  \u003cbr /\u003e\n  \u003cbr /\u003e\n\n  \u003cp align=\"center\"\u003e\n  \u003ca href=\"https://play.google.com/store/apps/details?id=com.viscouspot.gitsync\" target=\"_blank\"\u003e\u003cimg src=\"https://upload.wikimedia.org/wikipedia/commons/7/78/Google_Play_Store_badge_EN.svg\" alt=\"Get it on Google Play\" style=\"height: 48px\" \u003e\u003c/a\u003e  \n  \u0026nbsp;\u0026nbsp;\n  \u003ca href=\"https://apps.apple.com/us/app/gitsync/id6744980427\" target=\"_blank\"\u003e\u003cimg src=\"https://upload.wikimedia.org/wikipedia/commons/9/91/Download_on_the_App_Store_RGB_blk.svg\" alt=\"Get it on Google Play\" style=\"height: 48px\" \u003e\u003c/a\u003e\n  \u0026nbsp;\u0026nbsp;\n  \u003ca href=\"https://apt.izzysoft.de/fdroid/index/apk/com.viscouspot.gitsync\" target=\"_blank\"\u003e\u003cimg src=\"https://gitlab.com/IzzyOnDroid/repo/-/raw/master/assets/IzzyOnDroidButtonGreyBorder_nofont.png\" alt=\"Get it on Izzy On Droid\" style=\"height: 48px\" \u003e\u003c/a\u003e\n  \u003c!-- \u0026nbsp;\u0026nbsp; --\u003e\n  \u003c!-- \u003ca href=\"#\" target=\"_blank\"\u003e\u003cimg src=\"https://upload.wikimedia.org/wikipedia/commons/a/a3/Get_it_on_F-Droid_%28material_design%29.svg\" alt=\"Get it on F-Droid\" style=\"height: 48px\" \u003e\u003c/a\u003e --\u003e\n  \u003c/p\u003e\n\n  \u003cp align=\"center\"\u003e\n    \u003ca href=\"https://gitsync.viscouspotenti.al/wiki\"\u003e\u003cimg alt=\"Wiki\" src=\"https://img.shields.io/badge/wiki-white?style=for-the-badge\"\u003e\u003c/a\u003e\n  \u003c/p\u003e\n  \u003cbr /\u003e\n\n\u003c/div\u003e\n\nGitSync is a cross-platform git client for Android and iOS that aims to simplify the process of syncing a folder between a git remote and a local directory. It works in the background to keep your files synced with a simple one-time setup and numerous options for activating manual syncs\n\n- **Supports Android 6+ \u0026 iOS 12+**\n- Authenticate with\n  - **HTTP/S**\n  - **SSH**\n  - **OAuth**\n    - **GitHub**\n    - **Gitea**\n    - **Gitlab**\n- Clone a remote repository\n- Sync repository\n  - Fetch changes\n  - Pull changes\n  - Stage \u0026 commit changes\n  - Push changes\n  - Resolve merge conflicts\n- Setup automated sync mechanisms\n  - Automatically, when an app is opened or closed\n  - Automatically, on a schedule\n  - From a quick tile\n  - From a custom intent (advanced)\n- Repository Settings\n  - Signed commits\n  - Customisable sync commit messages\n  - Author details\n  - Edit .gitignore \u0026 .git/info/exclude files\n  - Disable SSL\n\nMore information can be found at the [wiki](https://gitsync.viscouspotenti.al/wiki)\n\u003cbr\u003e\nGive us a ⭐ if you like our work. Much appreciated!\n\n## Support\n\nFor support, email bugs.viscouspotential@gmail.com or create an issue in this repository.\n\n## Build Instructions\n\nIf you just want to try the app out, feel free to download a release from an official platform!\n\n_Build instructions coming soon..._\n\n\u003c!-- ### 1. Setup\n\n- Clone the project\n\n```bash\n  git clone https://github.com/ViscousPot/GitSync.git\n```\n\n- Go to the project directory\n\n```bash\n  cd GitSync\n```\n --\u003e\n\n\u003c!-- Check Your Entitlements File\n\nEnsure that the .entitlements file contains the correct APS environment string:\n\n\u003ckey\u003eaps-environment\u003c/key\u003e\n\u003cstring\u003edevelopment\u003c/string\u003e\n\n    Use \"development\" for development builds.\n\n    Use \"production\" for App Store or TestFlight builds.\n\nIf the file doesn’t exist, create one manually or let Xcode generate it when adding the capability. --\u003e\n\n\u003c!-- - Open the project in Android Studio\n- Sync the gradle project\n\n### 2. Secrets\n- Rename `Secrets.kt.template` to `Secrets.kt`\n- Visit `https://github.com/settings/developers`\n- Select `OAuth Apps`\n- Select `New OAuth App`\n  - Application Name: GitSync\n  - Homepage URL: `https://github.com/ViscousPot/GitSync`\n  - Authorization callback URL: `gitsync://auth`\n  - Enable Device Flow: `leave unchecked`\n- Fill `Secrets.kt` with the new OAuth App ID and SECRET\n\n### 3. Build \u0026 Run\n- Build from within Android Studio --\u003e\n\n## Contributing\n\nYour support means a lot! If you find GitSync useful, please:\n\n- Star the repo to help others discover it\n- Share it with friends or communities that might benefit\n- Consider becoming a [GitHub Sponsor](https://github.com/sponsors/ViscousPot)\n\n\u003cbr\u003e\nAt this time, code contributions aren’t needed anywhere in particular, but I’d love your help improving \u003cstrong\u003e\u003ca href=\"#localization-contributions\"\u003elocalization\u003c/a\u003e\u003c/strong\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003ch3 style=\"display:inline-block;\"\u003eLocalization Contributions\u003c/h3\u003e\u003c/summary\u003e\n\nIf you’d like to contribute translations:\n\n1. Locate the **English strings** in `lib/l10n/app_en.arb`\n2. Find the corresponding language file (e.g. `lib/l10n/app_es.arb` for Spanish)\n3. Add or refine translations in the appropriate file\n4. Submit a pull request or open an issue with your suggestions\n\nCurrently supported languages:\n\n- English (`app_en.arb`)\n- Spanish (`app_es.arb`)\n- Chinese (`app_zh.arb`)\n- Russian (`app_ru.arb`)\n- German (`app_de.arb`)\n\nEven small improvements to wording or grammar are welcome.\n\n\u003c/details\u003e\n\n## Acknowledgements\n\n- [flutter_rust_bridge](https://github.com/fzyzcjy/flutter_rust_bridge)\n- [git2-rs](https://github.com/rust-lang/git2-rs)\n\n\u003c!-- Find unstringed strings regex:\n`^(?!.*\\b(?:Logger\\.log|Logger\\.logError|Logger\\.gmLog|import|static|invokeMethod|initLogger|GitManagerRs\\.init|pragma)\\b).*['\"](?![^'\"]*\\$)(.{2,})['\"]`\n\ninclude\nui/\n--\u003e\n\n\u003c!-- ### Building Binaries\n\n`flutter run -v`\n\n#### Android\n\n[ +100 ms] INFO: Building rust_lib_GitSync for aarch64-linux-android\n[+65599 ms] INFO: Building rust_lib_GitSync for i686-linux-android\n[+35800 ms] INFO: Building rust_lib_GitSync for x86_64-linux-android\n\nfor android builds??\nexport LIBGIT2_SYS_USE_PKG_CONFIG=0\nexport ZLIB_SRC=1 --\u003e\n","funding_links":["https://github.com/sponsors/ViscousPot"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fviscouspot%2Fgitsync","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fviscouspot%2Fgitsync","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fviscouspot%2Fgitsync/lists"}