Collaborate using Git

Learn how to collaborate from RoboHelp using Git.

Prerequisites for connecting to Git

  1. Download and install Git on your system. Click here to download Git for Windows. For more information, see Git Help

  2. Adjust your PATH environment variable so that Git and optional UNIX tools can be used from the Windows command prompt. To do so, select this option in the Git installer:

    Git install screen

    Your PATH environment variable must contain this value:

    C:\Program Files\Git\usr\bin

    Git path variable

    Note:

    Since Windows 10 version 1803, Microsoft has added native SSH support, which is known to cause conflict with Git connections. If your Windows version is higher than 1803, ensure that the path to SSH binaries in the Git installation (C:\Program Files\Git\usr\bin) takes precedence over the path to SSH binaries provided by Microsoft (%SystemRoot%\system32). You can access the system PATH environment variable through the System Properties dialog box > Advanced tab > Environment Variables.

  3. Register your external diff/merge application in RoboHelp. To do so:

    1. Choose Edit > Preferences

    2. In the Application Settings dialog box, click the Version Control tab. 

    3. In the External Diff/Merge Application field, click  to select your external diff/merge application such as p4merge.

      Verify that Git supports your application by running the following command on the command prompt:

      git mergetool --tool-help

    4. Click Done.

Create a Git connection profile

To connect RoboHelp with Git, create a Git connection profile.

  1. On your Git server, a repository must exist to which you can connect from RoboHelp. To create a repository, follow the instructions on GitHub, Bitbucket, or from your Git hosting provider.

    Note:

    If the connection profile is to be used to upload the currently open RoboHelp project to your Git server, the new repository URL must be empty. While creating the repository, ensure that you do not initialize it with a readme file.  

  2. In RoboHelp, choose Collaborate > New Connection.

  3. In the Connection Profiles dialog box, specify a name for your connection profile.

  4. From the Version Control drop-down list, select Git.

  5. In the Repository URL field, specify the SSH or HTTPS URL of the remote repository. 

    The SSH URL can be specified in one of the following formats:

    • git@<servername>:<orgName/repoName>.git 
    • ssh://git@<servername>/<orgName/repoName>.git

    For example, git@github.com:adobe/brackets.git or ssh://git@github.com/adobe/brackets.git.

    The HTTPS URL is specified as: 

    https://<servername>/<orgName>/<repoName>.git

    For example, https://git@github.com/adobe/brackets.git

    If you've provided an https URL, the Git server provider drop-down list displays. Select the applicable server provider for authentication from the drop-down list. Multi-factor auth is available for specified providers in the list. The Other option implies support for Basic password authentication only.

    Select a Git server provider
    Select a Git server provider

    Note:

    If you specified an HTTPS URL, RoboHelp prompts you to enter the credentials on the first connection to the server. The prompt is specific to the Git Server Provider configured in the connection profile or a generic password prompt if the Other option was selected. 

    The credentials are saved in the system Credential Manager/Keychain for subsequent use.

    The record contains the following string:

    https://<servername>

    If you changed the credentials recently, delete or update the corresponding record from the Credential Manager to avoid authentication error prompts. If RoboHelp does not find a matching record in the system Credential Manager, it prompts for the credentials again. For more information about system Credential Manager (Windows), see Microsoft Help.

    Enter credentials for the provider
    Enter credentials for the provider

  6. In the User ID field, specify the name of the user account that has read/write access to the specified Git repository.

  7. In the Branch field, specify the branch name on the server. The default branch name is master.

  8. In case you specified an SSH URL in step 5, the SSH private key field is visible. In the SSH Private Key field, specify or navigate to the path of the SSH Private Key that you use for connecting to the repository on your Git server. To set up a new SSH connection to your Git server, see Set up an SSH connection

    Note:

    If the specified SSH key contains a passphrase, RoboHelp prompts you to enter this passphrase and saves it in the system Credential Manager for subsequent use. The record is stored in this format:
    git@<servername>:<orgName/repoName>/<user>
    If you are using a new SSH key for connection to the same repository but with a different passphrase, delete or update the corresponding record in the system Credential Manager. If RoboHelp does not find a matching record in the system Credential Manager, it prompts for the passphrase again. For more information about system Credential Manager (Windows), see Microsoft Help.

  9. In the Local Path field, specify a path on your computer that maps to the repository on the server.

    If the connection profile is to be used to upload the currently open RoboHelp project to your Git server, specify the folder containing the project or any of its parent folders. The local Git repository is initialized in this folder and is published to your Git server. 

    Otherwise, to use the connection profile to clone a repository from your Git server, provide the path to an empty local folder in which the repository is to be cloned. If the specified path does not exist, it is created before cloning.

  10. Click Save.

Set up an SSH connection

  1. Create an SSH key pair (public and private) using GitBash. For more information, see Git Help

  2. Add the new SSH public key to your account on your Git server by following the instructions on GitHubBitbucket, or from your Git hosting provider.

  3. Test the connection to your Git server using the SSH key pair by following the instructions on GitHub, Bitbucket, or from your Git hosting provider. Connect to the specified Git server via SSH using the following command on the terminal:
    $ ssh -T git@<servername>

    Note:

    You may have to specify additional arguments if your Git server is using a port for SSH connections which is different from the default (22). For example, add the option -p <portnumber> to specify the alternate SSH port number.

    Ensure that SSH connections are not blocked by your firewall. Git connection through RoboHelp is successful only if this step succeeds.

 

 

Clone a project from your Git server

  1. In RoboHelp, choose Collaborate > Open Connection and select a Git connection profile. The repository is cloned at the local path specified in the connection profile.

    Note:

    If the specified local path in the connection profile already contains a Git repository, cloning is skipped.

  2. In the Open dialog box, select a RoboHelp project file (.rhpj) and click Open.

    RoboHelp opens the project file.  

    Note:

    When you open a RoboHelp project for the first time using these steps, connection information is stored inside the project for subsequent use. So directly open the project using one of the ways described in Open a project

Work with files under version control

Add content to or edit a topic. You can quickly begin editing files without any network connection. 

Also, you can do the following:

Commit your changes

  1. To commit the changes to your local repository, choose Collaborate > Commit

    The Commit dialog box opens.

  2. In the Commit dialog box, from the list of modified, newly added, and deleted files, select the files you want to commit.

  3. To be able to commit the changes, specify a commit description. 

  4. Click Commit

    After the commit is successful, RoboHelp displays a success message.

Push your changes to the server

To push pending commits to your Git server, choose Collaborate > Push

If another user updated the repository on your Git server, your push operation fails. In this case, pull the latest version from the repository on the server and then retry the push operation.

Note:

To perform the push operation, you must have write access to the repository on your Git server.

Pull latest versions from the server

  1. To sync your local repository to match the repository on the server, choose Collaborate > Pull.

    If some of your local files contain edits that are not yet committed to your local repository and these files are updated on the server, the pull operation fails. In this case, commit your changes or stash them before your merge

  2. After successfully pulling changes, files that contain both local and remote commits are merged. If the merge is unsuccessful, a merge conflict occurs and it must be resolved. To resolve merge conflicts, choose Collaborate > Commit.

    In the Commit dialog box, files containing merge conflicts are indicated as  in the Action column.

  3. Click  against the file to merge conflicts using the external diff/merge application that you have registered in Step 3 in Prerequisites for connecting to Git.

    The registered diff/merge application opens for the specific file. 

  4. Resolve the conflicts and close the diff/merge application.

  5. Commit the resolved files by clicking Commit in the Commit dialog box.

Discard changes

  1. To discard the changes made to your local repository, choose Collaborate > Discard changes

    The Discard changes dialog box opens.

  2. In the Discard changes dialog box, you can see the list of current pending changes which display your local files that have been modified.

  3. Select one or more files that you want to revert. 

  4. Click Discard changes.

    All changes made to the selected files since the last commit will be discarded and then automatically removed from the active changelist.

Switch Branch

  1. To toggle back and forth between multiple Git branches in your project, choose Collaborate > Switch Branch

    The Switch Branch dialog box opens.

  2. In the Switch Branch dialog box, specify the name of the branch you want to switch to.

    For example, you want to switch from the master branch to another branch named “release” in your repository.

  3. Click Done. That's it.

    You have successfully switched to your “release” branch with the Switch Branch command.

Add a project to your Git server

  1. To add a project, choose Collaborate > Add Project and select a Git connection profile.

    The local path in the profile must contain the current project. For more information, see Step 9 in Create a Git connection profile.  

    Note:

    This operation fails if the repository specified in the connection profile contains any files. To add your RoboHelp project to an existing repository on the server, first clone that repository on your system and then copy or move your project into the folder in which the repository is cloned.

    The Commit dialog box opens.

  2. Commit the required files as described in Commit your changes

  3. Push the commit as described in Push your changes to the server

Remove Git connection

  1. To remove the Git connection from the current RoboHelp project, choose Collaborate > Remove Connection.

  2. If you want to delete the local repository also, select the Delete any source control information from the local folder also field in the Confirm dialog box. 

    Caution:

    Commit and push all your changes before deleting the repository.

  3. Click Ok.

    When the connection is removed, RoboHelp reopens the project, and the Add Project option in Collaborate menu becomes available. To add the project again, see Add a project to your Git server.

    Note:

    If you did not delete the local repository, when you add the project using the same connection profile as before, your local changes are preserved and you can commit/push them as required. 

    If you deleted the local repository, you cannot push changes to the repository on the server mentioned in the same connection profile as it already contains files. So you must add the project using a connection profile that contains an empty repository.

Adobe logo

Sign in to your account