Как уже указывалось @larsks, вам необходимо создать локальный клон удаленного базового хранилища. Изменения могут быть привязаны только к локальной копии базового репозитория. Наконец, нажав на исходный репозиторий, локальные изменения становятся доступными в удаленном репозитории для других.
JGit имеет Командный API, который моделируется после командной строки Git и может использоваться для клонирования, фиксации и нажатия.
Например:
// clone base repository into a local directory
Git git Git.cloneRepository().setURI("https://...").setDirectory(new File("/path/to/local/copy/of/repo")).call();
// create, modify, delete files in the repository's working directory,
// that is located at git.getRepository().getWorkTree()
// add and new and changed files to the staging area
git.add().addFilepattern(".").call();
// remove deleted files from the staging area
git.rm().addFilepattern("").call();
// commit changes to the local repository
git.commit().setMessage("...").call();
// push new commits to the base repository
git.push().setRemote("http://...").setRefspec(new Refspec("refs/heads/*:refs/remotes/origin/*")).call();
PushCommand
в приведенном выше примере, которые явным образом указывается удаленным нажать, чтобы и который ветви, чтобы обновить. Во многих случаях может быть достаточно опустить установщик и дать команде прочитать соответствующие значения по умолчанию из конфигурации репозитория с помощью git.push().call()
.
Для получения дополнительной информации, вы можете захотеть взглянуть на некоторые статьи, которые идут в более подробно cloning, making local changes и другие аспекты, как authentication и setting up the development environment
мерзавец работает только на локальных файлах. Хотя у него есть возможности для синхронизации состояния между локальными и удаленными репозиториями, все обновления репозитория происходят локально. Вам нужно будет клонировать репозиторий, внести изменения и затем оттолкнуть их обратно на пульт. – larsks