Skip to content

Commit

Permalink
docs: replace references to GCM Core/GCM-Core with GCM
Browse files Browse the repository at this point in the history
With the ongoing work to migrate GCM to its new org, we're taking the
opportunity to update our references to GCM Core/GCM-Core in documentation
to GCM.

Note that this change is limited to documentation only - executables and
assemblies will be updated at a later time.
  • Loading branch information
ldennington committed Nov 18, 2021
1 parent 1d668b1 commit 8a4fcba
Show file tree
Hide file tree
Showing 29 changed files with 130 additions and 130 deletions.
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/auth-problem.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ labels: 'auth-issue'
assignees: ''
---

**Which version of GCM Core are you using?**
**Which version of GCM are you using?**

From a terminal, run `git-credential-manager-core --version` and paste the output.

Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/experimental.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ labels: 'experimental'
assignees: ''
---

**Which version of GCM Core are you using?**
**Which version of GCM are you using?**

From a terminal, run `git-credential-manager-core --version` and paste the output.

Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/feature-req.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: Feature request
about: A suggestion for a new feature in Git Credential Manager Core.
about: A suggestion for a new feature in Git Credential Manager.
title: ''
labels: 'enhancement'
assignees: ''
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/continuous-integration.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: GCM-Core
name: GCM

on:
workflow_dispatch:
Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Git Credential Manager Core
Git Credential Manager
Copyright © GitHub, Inc. and contributors

MIT License
Expand Down
2 changes: 1 addition & 1 deletion NOTICE
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
NOTICES AND INFORMATION
Do Not Translate or Localize

This repository for Git Credential Manager Core includes material from the
This repository for Git Credential Manager includes material from the
projects listed below.

--------------------------------------------------------------------------------
Expand Down
36 changes: 18 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
# Git Credential Manager Core
# Git Credential Manager

[![Build Status](https://github.com/microsoft/Git-Credential-Manager-Core/actions/workflows/continuous-integration.yml/badge.svg)](https://github.com/microsoft/Git-Credential-Manager-Core/actions/workflows/continuous-integration.yml)

---

[Git Credential Manager Core](https://github.com/microsoft/Git-Credential-Manager-Core) (GCM Core) is a secure Git credential helper built on [.NET](https://dotnet.microsoft.com) that runs on Windows, macOS, and Linux.
[Git Credential Manager](https://github.com/microsoft/Git-Credential-Manager-Core) (GCM) is a secure Git credential helper built on [.NET](https://dotnet.microsoft.com) that runs on Windows, macOS, and Linux.

Compared to Git's [built-in credential helpers]((https://git-scm.com/book/en/v2/Git-Tools-Credential-Storage)) (Windows: wincred, macOS: osxkeychain, Linux: gnome-keyring/libsecret) which provides single-factor authentication support working on any HTTP-enabled Git repository, GCM Core provides multi-factor authentication support for [Azure DevOps](https://dev.azure.com/), Azure DevOps Server (formerly Team Foundation Server), GitHub, and Bitbucket.
Compared to Git's [built-in credential helpers]((https://git-scm.com/book/en/v2/Git-Tools-Credential-Storage)) (Windows: wincred, macOS: osxkeychain, Linux: gnome-keyring/libsecret) which provides single-factor authentication support working on any HTTP-enabled Git repository, GCM provides multi-factor authentication support for [Azure DevOps](https://dev.azure.com/), Azure DevOps Server (formerly Team Foundation Server), GitHub, and Bitbucket.

Git Credential Manager Core (GCM Core) replaces the .NET Framework-based [Git Credential Manager for Windows](https://github.com/microsoft/Git-Credential-Manager-for-Windows) (GCM), and the Java-based [Git Credential Manager for Mac and Linux](https://github.com/microsoft/Git-Credential-Manager-for-Mac-and-Linux) (Java GCM), providing a consistent authentication experience across all platforms.
Git Credential Manager (GCM) replaces the .NET Framework-based [Git Credential Manager for Windows](https://github.com/microsoft/Git-Credential-Manager-for-Windows) (GCM), and the Java-based [Git Credential Manager for Mac and Linux](https://github.com/microsoft/Git-Credential-Manager-for-Mac-and-Linux) (Java GCM), providing a consistent authentication experience across all platforms.

## Current status

Git Credential Manager Core is currently available for Windows, macOS, and Linux. GCM only works with HTTP(S) remotes; you can still use Git with SSH:
Git Credential Manager is currently available for Windows, macOS, and Linux. GCM only works with HTTP(S) remotes; you can still use Git with SSH:

- [Azure DevOps SSH](https://docs.microsoft.com/en-us/azure/devops/repos/git/use-ssh-keys-to-authenticate?view=azure-devops)
- [GitHub SSH](https://help.github.com/en/articles/connecting-to-github-with-ssh)
Expand Down Expand Up @@ -58,7 +58,7 @@ brew upgrade git-credential-manager-core

#### Git Credential Manager for Mac and Linux (Java-based GCM)

If you have an existing installation of the 'Java GCM' on macOS and you have installed this using Homebrew, this installation will be unlinked (`brew unlink git-credential-manager`) when GCM Core is installed.
If you have an existing installation of the 'Java GCM' on macOS and you have installed this using Homebrew, this installation will be unlinked (`brew unlink git-credential-manager`) when GCM is installed.

#### Uninstall

Expand Down Expand Up @@ -106,23 +106,23 @@ tar -xvf <path-to-tarball> -C /usr/local/bin
git-credential-manager-core configure
```

**Note:** all Linux distributions [require additional configuration](https://aka.ms/gcmcore-credstores) to use GCM Core.

This comment was marked as off-topic.

Copy link
@Alydero19

Alydero19 Sep 24, 2022

Help support and guide

**Note:** all Linux distributions [require additional configuration](https://aka.ms/gcmcore-credstores) to use GCM.

---

### Windows

GCM Core is included with [Git for Windows](https://gitforwindows.org/), and the latest version is included in each new Git for Windows release. This is the preferred way to install GCM Core on Windows. During installation you will be asked to select a credential helper, with GCM Core being set as the default.
GCM is included with [Git for Windows](https://gitforwindows.org/), and the latest version is included in each new Git for Windows release. This is the preferred way to install GCM on Windows. During installation you will be asked to select a credential helper, with GCM being set as the default.

![image](https://user-images.githubusercontent.com/5658207/140082529-1ac133c1-0922-4a24-af03-067e27b3988b.png)

#### Standalone installation

You can also download the [latest installer](https://github.com/microsoft/Git-Credential-Manager-Core/releases/latest) for Windows to install GCM Core standalone.
You can also download the [latest installer](https://github.com/microsoft/Git-Credential-Manager-Core/releases/latest) for Windows to install GCM standalone.

**:warning: Important :warning:**

Installing GCM Core as a standalone package on Windows will forcibly override the version of GCM Core that is bundled with Git for Windows, **even if the version bundled with Git for Windows is a later version**.
Installing GCM as a standalone package on Windows will forcibly override the version of GCM that is bundled with Git for Windows, **even if the version bundled with Git for Windows is a later version**.

There are two flavors of standalone installation on Windows:

Expand All @@ -138,23 +138,23 @@ To install, double-click the desired installation package and follow the instruc

#### Uninstall (Windows 10)

To uninstall, open the Settings app and navigate to the Apps section. Select "Git Credential Manager Core" and click "Uninstall".
To uninstall, open the Settings app and navigate to the Apps section. Select "Git Credential Manager" and click "Uninstall".

#### Uninstall (Windows 7-8.1)

To uninstall, open Control Panel and navigate to the Programs and Features screen. Select "Git Credential Manager Core" and click "Remove".
To uninstall, open Control Panel and navigate to the Programs and Features screen. Select "Git Credential Manager" and click "Remove".

#### Windows Subsystem for Linux (WSL)

Git Credential Manager Core can be used with the [Windows Subsystem for Linux
Git Credential Manager can be used with the [Windows Subsystem for Linux
(WSL)](https://aka.ms/wsl) to enable secure authentication of your remote Git
repositories from inside of WSL.

[Please see the GCM Core on WSL docs](docs/wsl.md) for more information.
[Please see the GCM on WSL docs](docs/wsl.md) for more information.

## Supported Git versions

Git Credential Manager Core tries to be compatible with the broadest set of Git
Git Credential Manager tries to be compatible with the broadest set of Git
versions (within reason). However there are some know problematic releases of
Git that are not compatible.

Expand All @@ -170,11 +170,11 @@ Git that are not compatible.

## How to use

Once it's installed and configured, Git Credential Manager Core is called implicitly by Git.
You don't have to do anything special, and GCM Core isn't intended to be called directly by the user.
Once it's installed and configured, Git Credential Manager is called implicitly by Git.
You don't have to do anything special, and GCM isn't intended to be called directly by the user.
For example, when pushing (`git push`) to [Azure DevOps](https://dev.azure.com), [Bitbucket](https://bitbucket.org), or [GitHub](https://github.com), a window will automatically open and walk you through the sign-in process.
(This process will look slightly different for each Git host, and even in some cases, whether you've connected to an on-premises or cloud-hosted Git host.)
Later Git commands in the same repository will re-use existing credentials or tokens that GCM Core has stored for as long as they're valid.
Later Git commands in the same repository will re-use existing credentials or tokens that GCM has stored for as long as they're valid.

Read full command line usage [here](docs/usage.md).

Expand Down
22 changes: 11 additions & 11 deletions docs/architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
+--------------------------------------+ +------------------------------------+
```

Git Credential Manager Core (GCM Core) is built to be Git host and platform/OS
Git Credential Manager (GCM) is built to be Git host and platform/OS
agonstic. Most of the shared logic (command execution, the abstract platform
subsystems, etc) can be found in the `Core` class
library (C#). The library targets .NET Standard as well as .NET Framework.
Expand All @@ -55,7 +55,7 @@ library (C#). The library targets .NET Standard as well as .NET Framework.
> See [this](https://github.com/microsoft/Git-Credential-Manager-Core/issues/113)
> issue for more information.
The entry-point for GCM Core can be found in the `Git-Credential-Manager`
The entry-point for GCM can be found in the `Git-Credential-Manager`
project, a console application that targets both .NET and .NET Framework.
This project emits the `git-credential-manager-core(.exe)` executable, and
contains very little code - registration of all supported host providers and
Expand Down Expand Up @@ -88,14 +88,14 @@ issue for up-to-date progress on this effort.

For authentication using Microsoft Accounts or Azure Active Directory, things
are a little different. The `MicrosoftAuthentication` component is present in
the core `Core` assembly, rather than bundled with a
the `Core` core assembly, rather than bundled with a
specific host provider. This was done to allow any service that may wish to in
the future integrate with Microsoft Accounts or Azure Active Directory can make
use of this reusable authentication component.

## Asynchronous programming

GCM Core makes use of the `async`/`await` model of .NET and C# in almost all
GCM makes use of the `async`/`await` model of .NET and C# in almost all
parts of the codebase where appropriate as usually requests end up going to the
network at some point.

Expand Down Expand Up @@ -142,10 +142,10 @@ network at some point.
+---------------+
```

Git Credential Manager Core maintains a set of known commands including
Git Credential Manager maintains a set of known commands including
`Get|Store|EraseCommand`, as well as commands for install and help/usage.

GCM Core also maintains a set of known, registered host providers that implement
GCM also maintains a set of known, registered host providers that implement
the `IHostProvider` interface. Providers register themselves by adding an
instance of the provider to the `Application` object via the `RegisterProvider`
method [in `Core.Program`](../src/shared/Git-Credential-Manager/Program.cs).
Expand All @@ -154,7 +154,7 @@ HTTP-based remotes as a catch-all, and provide basic username/password auth and
detect the presence of Windows Integrated Authentication (Kerberos, NTLM,
Negotiate) support (1).

For each invocation of GCM Core, the first argument on the command-line is
For each invocation of GCM, the first argument on the command-line is
matched against the known commands and if there is a successful match, the input
from Git (over standard input) is deserialized and the command is executed (2).

Expand All @@ -174,7 +174,7 @@ context to complete the requested operation (5).
Once a credential has been created, retrieved, stored or erased, the host
provider returns the credential (for `get` operations only) to the calling
command (6). The credential is then serialized and returned to Git over standard
output (7) and GCM Core terminates with a successful exit code.
output (7) and GCM terminates with a successful exit code.

## Host provider

Expand Down Expand Up @@ -247,7 +247,7 @@ systems and platforms.
Component|Description
-|-
CredentialStore|A secure operating system controlled location for storing and retrieving `ICredential` objects.
Settings|Abstraction over all GCM Core settings.
Settings|Abstraction over all GCM settings.
Streams|Abstraction over standard input, output and error streams connected to the parent process (typically Git).
Terminal|Provides interactions with an attached terminal, if it exists.
SessionManager|Provides information about the current user session.
Expand All @@ -260,7 +260,7 @@ SystemPrompts|Provides services for showing system/OS native credential prompts.

## Error handling and tracing

GCM Core operates a 'fail fast' approach to unrecoverable errors. This usually
GCM operates a 'fail fast' approach to unrecoverable errors. This usually
means throwing an `Exception` which will propagate up to the entry-point and be
caught, a non-zero exit code returned, and the error message printed with the
"fatal:" prefix. For errors originating from interop/native code, you should
Expand All @@ -276,4 +276,4 @@ operation/authentication.

The `ITrace` component can be found on the `ICommandContext` object or passed in
directly to some constructors. Verbose and diagnostic information is be written
to the trace object in most places of GCM Core.
to the trace object in most places of GCM.
24 changes: 12 additions & 12 deletions docs/configuration.md
Original file line number Diff line number Diff line change
@@ -1,33 +1,33 @@
# Configuration options

[Git Credential Manager Core](usage.md) works out of the box for most users.
[Git Credential Manager](usage.md) works out of the box for most users.

Git Credential Manager Core (GCM Core) can be configured using Git's configuration files, and follows all of the same rules Git does when consuming the files.
Git Credential Manager (GCM) can be configured using Git's configuration files, and follows all of the same rules Git does when consuming the files.

Global configuration settings override system configuration settings, and local configuration settings override global settings; and because the configuration details exist within Git's configuration files you can use Git's `git config` utility to set, unset, and alter the setting values. All of GCM Core's configuration settings begin with the term `credential`.
Global configuration settings override system configuration settings, and local configuration settings override global settings; and because the configuration details exist within Git's configuration files you can use Git's `git config` utility to set, unset, and alter the setting values. All of GCM's configuration settings begin with the term `credential`.

GCM Core honors several levels of settings, in addition to the standard local \> global \> system tiering Git uses.
GCM honors several levels of settings, in addition to the standard local \> global \> system tiering Git uses.
URL-specific settings or overrides can be applied to any value in the `credential` namespace with the syntax below.

Additionally, GCM Core respects several GCM-specific [environment variables](environment.md) **which take precedence over configuration options**. System administrators may also configure [default values](enterprise-config.md) for many settings used by GCM Core.
Additionally, GCM respects several GCM-specific [environment variables](environment.md) **which take precedence over configuration options**. System administrators may also configure [default values](enterprise-config.md) for many settings used by GCM.

GCM Core will only be used by Git if it is installed and configured. Use `git config --global credential.helper manager-core` to assign GCM Core as your credential helper. Use `git config credential.helper` to see the current configuration.
GCM will only be used by Git if it is installed and configured. Use `git config --global credential.helper manager-core` to assign GCM as your credential helper. Use `git config credential.helper` to see the current configuration.

**Example:**

> `credential.microsoft.visualstudio.com.namespace` is more specific than `credential.visualstudio.com.namespace`, which is more specific than `credential.namespace`.
In the examples above, the `credential.namespace` setting would affect any remote repository; the `credential.visualstudio.com.namespace` would affect any remote repository in the domain, and/or any subdomain (including `www.`) of, 'visualstudio.com'; where as the `credential.microsoft.visualstudio.com.namespace` setting would only be applied to remote repositories hosted at 'microsoft.visualstudio.com'.

For the complete list of settings GCM Core understands, see the list below.
For the complete list of settings GCM understands, see the list below.

## Available settings

### credential.interactive

Permit or disable GCM Core from interacting with the user (showing GUI or TTY prompts). If interaction is required but has been disabled, an error is returned.
Permit or disable GCM from interacting with the user (showing GUI or TTY prompts). If interaction is required but has been disabled, an error is returned.

This can be helpful when using GCM Core in headless and unattended environments, such as build servers, where it would be preferable to fail than to hang indefinitely waiting for a non-existent user.
This can be helpful when using GCM in headless and unattended environments, such as build servers, where it would be preferable to fail than to hang indefinitely waiting for a non-existent user.

To disable interactivity set this to `false` or `0`.

Expand Down Expand Up @@ -156,7 +156,7 @@ git config --global credential.tfsonprem123.allowWindowsAuth false
>
> Click [here](https://aka.ms/gcmcore-httpproxy) for more information.
Configure GCM Core to use the a proxy for network operations.
Configure GCM to use the a proxy for network operations.

**Note:** Git itself does _not_ respect this setting; this affects GCM _only_.

Expand Down Expand Up @@ -375,11 +375,11 @@ git config --global credential.msauthUseBroker true

### credential.useHttpPath

Tells Git to pass the entire repository URL, rather than just the hostname, when calling out to a credential provider. (This setting [comes from Git itself](https://git-scm.com/docs/gitcredentials/#Documentation/gitcredentials.txt-useHttpPath), not GCM Core.)
Tells Git to pass the entire repository URL, rather than just the hostname, when calling out to a credential provider. (This setting [comes from Git itself](https://git-scm.com/docs/gitcredentials/#Documentation/gitcredentials.txt-useHttpPath), not GCM.)

Defaults to `false`.

**Note:** GCM Core sets this value to `true` for `dev.azure.com` (Azure Repos) hosts after installation by default.
**Note:** GCM sets this value to `true` for `dev.azure.com` (Azure Repos) hosts after installation by default.

This is because `dev.azure.com` alone is not enough information to determine the correct Azure authentication authority - we require a part of the path. The fallout of this is that for `dev.azure.com` remote URLs we do not support storing credentials against the full-path. We always store against the `dev.azure.com/org-name` stub.

Expand Down
Loading

1 comment on commit 8a4fcba

@Mady0208

This comment was marked as off-topic.

Please sign in to comment.