Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitbook.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ redirects:
en: ./README.md
de: ./README.md
advanced/saveactions: ./finding-sorting-and-cleaning-entries/saveactions.md
collaborative-work/gitintegration: ./collaborative-work/git-integration.md
contributing/translatinggui: ./faqcontributing/how-to-translate-the-ui.md
download: ./installation.md
EntryEditor: ./advanced/entryeditor/README.md
Expand Down
1 change: 0 additions & 1 deletion en/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,6 @@
* [Export](collaborative-work/export/README.md)
* [Custom export filters](collaborative-work/export/customexports.md)
* [Send as email](collaborative-work/send-as-email.md)
* [Share with Git and GitHub](collaborative-work/gitintegration.md)
* [AI functionality](ai/README.md)
* [How to enable and use AI features?](ai/how-to-enable-and-use-ai-features.md)
* [AI providers and API keys](ai/ai-providers-and-api-keys.md)
Expand Down
7 changes: 0 additions & 7 deletions en/collaborative-work/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@

JabRef allows sharing both [Bib(La)TeX library](sharedbibfile.md) and [SQL database](sqldatabase/). It also has [built-in Git integration](git-integration.md) for versioning your library. You can also [export your library to a variety of formats](export/).

Jabref also supports sharing libraries with [Git and GitHub](gitintegration.md).

{% content-ref url="sharedbibfile.md" %}
[sharedbibfile.md](sharedbibfile.md)
{% endcontent-ref %}
Expand All @@ -23,8 +21,3 @@ Jabref also supports sharing libraries with [Git and GitHub](gitintegration.md).
{% content-ref url="send-as-email.md" %}
[send-as-email.md](send-as-email.md)
{% endcontent-ref %}

{% content-ref url="gitintegration.md" %}
[gitintegration.md](gitintegration.md)
{% endcontent-ref %}

15 changes: 15 additions & 0 deletions en/collaborative-work/git-integration.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,11 @@ If the library file is not yet inside a Git repository, committing prompts you t

Choose **Initialize** to create the repository and commit, or **Do not initialize** to leave the folder untouched — for example if you intend to clone an existing repository into it yourself instead.

## Pulling and pushing

* **Push** uploads your local commits to the remote repository. If the remote contains changes you do not have yet, pull first.
* **Pull** fetches the latest changes from the remote and merges them entry by entry (semantic merge). If you and a collaborator changed the same field, JabRef opens a dialog where you resolve the conflict.

## Authenticating with a remote

### HTTPS (GitHub Personal Access Token)
Expand All @@ -43,12 +48,16 @@ For HTTPS-based remotes (such as GitHub), configure a Personal Access Token unde
* **PAT** (Personal Access Token)
* **Persist PAT between sessions** — stores the token in your operating system's credential store between JabRef sessions (only available if your OS provides one).

To create a token, follow GitHub's guide on [creating a personal access token (classic)](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-personal-access-token-classic) and select the **repo** scope. Copy the token right away, as GitHub shows it only once.

### SSH

SSH-based remotes work without any separate configuration inside JabRef: JabRef authenticates through your system's running SSH agent (`SSH_AUTH_SOCK` on Linux/macOS, or Pageant/the Windows OpenSSH agent on Windows) and your usual `~/.ssh/config` and known-hosts entries, the same way the `git` command line tool would.

## Sharing a library to GitHub

Before sharing, [create a repository on GitHub](https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-new-repository): JabRef needs its URL.

**File → Git → Share this library to GitHub** opens a dialog to publish a saved local library to a new or existing GitHub repository:

* **GitHub Repository URL**
Expand All @@ -57,6 +66,12 @@ SSH-based remotes work without any separate configuration inside JabRef: JabRef
* **Check GitHub access** — verifies the token has push access to the repository.
* **Remember Git settings** — reuses the entered credentials for later commits/pushes.

JabRef then initializes a local Git repository (if needed), adds the GitHub repository as a remote, and pushes your library to it.

{% hint style="warning" %}
Sharing commits and pushes all files in the library's folder, not only the library file. Before sharing, check that the folder contains no unrelated or private files, or exclude them with a `.gitignore` file.
{% endhint %}

You can also reopen this dialog for a library that is already shared and has an existing Git remote, for example to re-check your token's access or to pull remote changes.

{% hint style="info" %}
Expand Down
27 changes: 0 additions & 27 deletions en/collaborative-work/gitintegration.md

This file was deleted.

Loading