Skip to content

Commit 5e11b78

Browse files
committed
Switch to reference style links
1 parent 86714ff commit 5e11b78

11 files changed

+273
-143
lines changed

CODE_OF_CONDUCT.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,6 @@ available at [Contributor Covenant Code of Conduct][cc-coc].
7373
For answers to common questions about this code of conduct, see the
7474
[Contributor Covenant FAQ][cc-faq]
7575

76-
[cc-homepage]: https://www.contributor-covenant.org
7776
[cc-coc]: https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
7877
[cc-faq]: https://www.contributor-covenant.org/faq
78+
[cc-homepage]: https://www.contributor-covenant.org

CONTRIBUTING.md

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,8 @@
11
# Contributing
22

3-
[issue]: https://github.com/GitCredentialManager/git-credential-manager/issues
4-
[fork]: https://github.com/GitCredentialManager/git-credential-manager/fork
5-
[pr]: https://github.com/GitCredentialManager/git-credential-manager/compare
6-
[code-of-conduct]: CODE_OF_CONDUCT.md
7-
83
Hi there! We're thrilled that you'd like to contribute to this project. Your help is essential for keeping it great.
94

10-
Contributions to this project are [released](https://help.github.com/articles/github-terms-of-service/#6-contributions-under-repository-license) to the public under the [project's open source license](LICENSE).
5+
Contributions to this project are [released][contribute-under-repo-license] to the public under the [project's open source license][license].
116

127
Please note that this project is released with a [Contributor Code of Conduct][code-of-conduct]. By participating in this project you agree to abide by its terms.
138

@@ -29,18 +24,29 @@ This helps us coordinate and reduce duplication.
2924
- `GitHub.UI.Avalonia`
3025
- `Atlassian.Bitbucket.UI.Windows`
3126
- `GitHub.UI.Windows`
32-
1. Push to your fork and [submit a pull request][pr]
27+
1. Push to your fork and [submit a pull request][compare]
3328
1. Pat your self on the back and wait for your pull request to be reviewed and merged.
3429

3530
Here are a few things you can do that will increase the likelihood of your pull request being accepted:
3631

3732
- Match existing code style.
3833
- Write tests.
3934
- Keep your change as focused as possible. If there are multiple changes you would like to make that are not dependent upon each other, consider submitting them as separate pull requests.
40-
- Write a [good commit message](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html).
35+
- Write a [good commit message][commit-messages].
4136

4237
## Resources
4338

44-
- [How to Contribute to Open Source](https://opensource.guide/how-to-contribute/)
45-
- [Using Pull Requests](https://help.github.com/articles/about-pull-requests/)
46-
- [GitHub Help](https://help.github.com)
39+
- [How to Contribute to Open Source][how-to-contribute]
40+
- [Using Pull Requests][prs]
41+
- [GitHub Help][github-help]
42+
43+
[code-of-conduct]: CODE_OF_CONDUCT.md
44+
[commit-messages]: http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
45+
[compare]: https://github.com/GitCredentialManager/git-credential-manager/compare
46+
[contribute-under-repo-license]: https://help.github.com/articles/github-terms-of-service/#6-contributions-under-repository-license
47+
[fork]: https://github.com/GitCredentialManager/git-credential-manager/fork
48+
[github-help]: https://help.github.com
49+
[how-to-contribute]: https://opensource.guide/how-to-contribute/
50+
[issue]: https://github.com/GitCredentialManager/git-credential-manager/issues
51+
[license]: LICENSE
52+
[prs]: https://help.github.com/articles/about-pull-requests/

README.md

Lines changed: 78 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,27 @@
11
# Git Credential Manager
22

3-
[![Build Status](https://github.com/GitCredentialManager/git-credential-manager/actions/workflows/continuous-integration.yml/badge.svg)](https://github.com/GitCredentialManager/git-credential-manager/actions/workflows/continuous-integration.yml)
3+
[![Build Status][build-status-badge]][workflow-status]
44

55
---
66

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

9-
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, Bitbucket, and GitLab.
9+
Compared to Git's [built-in credential helpers][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][], Azure DevOps Server (formerly Team Foundation Server), GitHub, and Bitbucket.
1010

11-
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.
11+
Git Credential Manager (GCM) replaces the .NET Framework-based [Git Credential Manager for Windows][gcm-for-windows] (GCM), and the Java-based [Git Credential Manager for Mac and Linux][gcm-for-mac-and-linux] (Java GCM), providing a consistent authentication experience across all platforms.
1212

1313
## Current status
1414

1515
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:
1616

17-
- [Azure DevOps SSH](https://docs.microsoft.com/en-us/azure/devops/repos/git/use-ssh-keys-to-authenticate?view=azure-devops)
18-
- [GitHub SSH](https://help.github.com/en/articles/connecting-to-github-with-ssh)
19-
- [Bitbucket SSH](https://confluence.atlassian.com/bitbucket/ssh-keys-935365775.html)
17+
- [Azure DevOps SSH][]
18+
- [GitHub SSH][]
19+
- [Bitbucket SSH][]
2020

2121
Feature|Windows|macOS|Linux
2222
-|:-:|:-:|:-:
2323
Installer/uninstaller|✓|✓|✓\*
24-
Secure platform credential storage|✓ [(see more)](docs/credstores.md)|✓ [(see more)](docs/credstores.md)|✓ [(see more)](docs/credstores.md)
24+
Secure platform credential storage|✓ [(see more)][gcm-credstores]|✓ [(see more)][gcm-credstores]|✓ [(see more)][gcm-credstores]
2525
Multi-factor authentication support for Azure DevOps|✓|✓|✓
2626
Two-factor authentication support for GitHub|✓|✓|✓
2727
Two-factor authentication support for Bitbucket|✓|✓|✓
@@ -75,7 +75,7 @@ brew uninstall --cask git-credential-manager-core
7575

7676
### macOS Package
7777

78-
We also provide a [.pkg installer](https://github.com/GitCredentialManager/git-credential-manager/releases/latest) with each release. To install, double-click the installation package and follow the instructions presented.
78+
We also provide a [.pkg installer][latest-release] with each release. To install, double-click the installation package and follow the instructions presented.
7979

8080
#### Uninstall
8181

@@ -121,15 +121,15 @@ run the following:
121121

122122
#### Ubuntu/Debian distributions
123123

124-
Download the latest [.deb package](https://github.com/GitCredentialManager/git-credential-manager/releases/latest), and run the following:
124+
Download the latest [.deb package][latest-release], and run the following:
125125

126126
```shell
127127
sudo dpkg -i <path-to-package>
128128
git-credential-manager-core configure
129129
```
130130

131131
**Note:** Although packages were previously offered on certain
132-
[Microsoft Ubuntu package feeds](https://packages.microsoft.com/repos/),
132+
[Microsoft Ubuntu package feeds][ms-package-repos],
133133
GCM no longer publishes to these repositories. Please install the
134134
Debian package using the above instructions instead.
135135

@@ -142,7 +142,7 @@ sudo dpkg -r gcmcore
142142

143143
#### Other distributions
144144

145-
Download the latest [tarball](https://github.com/GitCredentialManager/git-credential-manager/releases/latest), and run the following:
145+
Download the latest [tarball][latest-release], and run the following:
146146

147147
```shell
148148
tar -xvf <path-to-tarball> -C /usr/local/bin
@@ -156,19 +156,19 @@ git-credential-manager-core unconfigure
156156
rm $(command -v git-credential-manager-core)
157157
```
158158

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

161161
---
162162

163163
### Windows
164164

165-
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.
165+
GCM is included with [Git for Windows][], 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.
166166

167-
![image](https://user-images.githubusercontent.com/5658207/140082529-1ac133c1-0922-4a24-af03-067e27b3988b.png)
167+
![image][git-for-windows-screenshot]
168168

169169
#### Standalone installation
170170

171-
You can also download the [latest installer](https://github.com/GitCredentialManager/git-credential-manager/releases/latest) for Windows to install GCM standalone.
171+
You can also download the [latest installer][latest-release] for Windows to install GCM standalone.
172172

173173
**:warning: Important :warning:**
174174

@@ -197,10 +197,10 @@ To uninstall, open Control Panel and navigate to the Programs and Features scree
197197
#### Windows Subsystem for Linux (WSL)
198198

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

203-
[Please see the GCM on WSL docs](docs/wsl.md) for more information.
203+
[Please see the GCM on WSL docs][gcm-wsl] for more information.
204204

205205
## Supported Git versions
206206

@@ -215,50 +215,89 @@ Git that are not compatible.
215215
- Git 2.26.2
216216

217217
This version of Git introduced a breaking change with parsing credential
218-
configuration that GCM relies on. This issue was fixed in commit [`12294990`](https://github.com/git/git/commit/12294990c90e043862be9eb7eb22c3784b526340)
218+
configuration that GCM relies on. This issue was fixed in commit [`12294990`][gcm-commit-12294990]
219219
of the Git project, and released in Git 2.27.0.
220220

221221
## How to use
222222

223223
Once it's installed and configured, Git Credential Manager is called implicitly by Git.
224224
You don't have to do anything special, and GCM isn't intended to be called directly by the user.
225-
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.
225+
For example, when pushing (`git push`) to [Azure DevOps][], [Bitbucket][], or [GitHub][], a window will automatically open and walk you through the sign-in process.
226226
(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.)
227227
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.
228228

229-
Read full command line usage [here](docs/usage.md).
229+
Read full command line usage [here][gcm-usage].
230230

231231
### Configuring a proxy
232232

233-
See detailed information [here](https://aka.ms/gcm/httpproxy).
233+
See detailed information [here][gcm-http-proxy].
234234

235235
## Additional Resources
236236

237-
- [Frequently asked questions](docs/faq.md)
238-
- [Development and debugging](docs/development.md)
239-
- [Command-line usage](docs/usage.md)
240-
- [Configuration options](docs/configuration.md)
241-
- [Environment variables](docs/environment.md)
242-
- [Enterprise configuration](docs/enterprise-config.md)
243-
- [Network and HTTP configuration](docs/netconfig.md)
244-
- [Credential stores](docs/credstores.md)
245-
- [Architectural overview](docs/architecture.md)
246-
- [Host provider specification](docs/hostprovider.md)
247-
- [Azure Repos OAuth tokens](docs/azrepos-users-and-tokens.md)
248-
- [GitLab support](docs/gitlab.md)
237+
- [Frequently asked questions][gcm-faq]
238+
- [Development and debugging][gcm-dev]
239+
- [Command-line usage][gcm-usage]
240+
- [Configuration options][gcm-config]
241+
- [Environment variables][gcm-env]
242+
- [Enterprise configuration][gcm-enterprise-config]
243+
- [Network and HTTP configuration][gcm-net-config]
244+
- [Credential stores][gcm-credstores]
245+
- [Architectural overview][gcm-arch]
246+
- [Host provider specification][gcm-host-provider]
247+
- [Azure Repos OAuth tokens][gcm-azure-tokens]
248+
- [GitLab support][gcm-gitlab]
249249

250250
## Experimental Features
251251

252-
- [Windows broker (experimental)](docs/windows-broker.md)
252+
- [Windows broker (experimental)][gcm-windows-broker]
253253

254254
## Contributing
255255

256256
This project welcomes contributions and suggestions.
257-
See the [contributing guide](CONTRIBUTING.md) to get started.
257+
See the [contributing guide][gcm-contributing] to get started.
258258

259-
This project follows [GitHub's Open Source Code of Conduct](CODE_OF_CONDUCT.md).
259+
This project follows [GitHub's Open Source Code of Conduct][gcm-coc].
260260

261261
## License
262262

263-
We're [MIT](LICENSE) licensed.
264-
When using GitHub logos, please be sure to follow the [GitHub logo guidelines](https://github.com/logos).
263+
We're [MIT][gcm-license] licensed.
264+
When using GitHub logos, please be sure to follow the [GitHub logo guidelines][github-logos].
265+
266+
[Azure DevOps]: https://dev.azure.com/
267+
[Azure DevOps SSH]: https://docs.microsoft.com/en-us/azure/devops/repos/git/use-ssh-keys-to-authenticate?view=azure-devops
268+
[Bitbucket]: https://bitbucket.org
269+
[Bitbucket SSH]: https://confluence.atlassian.com/bitbucket/ssh-keys-935365775.html
270+
[build-status-badge]: https://github.com/GitCredentialManager/git-credential-manager/actions/workflows/continuous-integration.yml/badge.svg
271+
[.NET]: https://dotnet.microsoft.com
272+
[gcm]: https://github.com/GitCredentialManager/git-credential-manager
273+
[gcm-arch]: docs/architecture.md
274+
[gcm-azure-tokens]: docs/azrepos-users-and-tokens.md
275+
[gcm-coc]: CODE_OF_CONDUCT.md
276+
[gcm-commit-12294990]: https://github.com/git/git/commit/12294990c90e043862be9eb7eb22c3784b526340
277+
[gcm-config]: docs/configuration.md
278+
[gcm-contributing]: CONTRIBUTING.md
279+
[gcm-credstores]: docs/credstores.md
280+
[gcm-dev]: docs/development.md
281+
[gcm-enterprise-config]: docs/enterprise-config.md
282+
[gcm-env]: docs/environment.md
283+
[gcm-faq]: docs/faq.md
284+
[gcm-for-mac-and-linux]: https://github.com/microsoft/Git-Credential-Manager-for-Mac-and-Linux
285+
[gcm-for-windows]: https://github.com/microsoft/Git-Credential-Manager-for-Windows
286+
[gcm-gitlab]: docs/gitlab.md
287+
[gcm-host-provider]: docs/hostprovider.md
288+
[gcm-http-proxy]: docs/netconfig.md#http-proxy
289+
[gcm-license]: LICENSE
290+
[gcm-net-config]: docs/netconfig.md
291+
[gcm-usage]: docs/usage.md
292+
[gcm-windows-broker]: docs/windows-broker.md
293+
[gcm-wsl]: docs/wsl.md
294+
[Git for Windows]: https://gitforwindows.org/
295+
[git-for-windows-screenshot]: https://user-images.githubusercontent.com/5658207/140082529-1ac133c1-0922-4a24-af03-067e27b3988b.png
296+
[git-tools-credential-storage]: https://git-scm.com/book/en/v2/Git-Tools-Credential-Storage
297+
[GitHub]: https://github.com
298+
[GitHub SSH]: https://help.github.com/en/articles/connecting-to-github-with-ssh
299+
[github-logos]: https://github.com/logos
300+
[latest-release]: https://github.com/GitCredentialManager/git-credential-manager/releases/latest
301+
[ms-package-repos]: https://packages.microsoft.com/repos/
302+
[ms-wsl]: https://aka.ms/wsl#
303+
[workflow-status]: https://github.com/GitCredentialManager/git-credential-manager/actions/workflows/continuous-integration.yml

SECURITY.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# Security
22

3-
If you discover a security issue in this repo, please submit it through the [GitHub Security Bug Bounty](https://hackerone.com/github)
3+
If you discover a security issue in this repo, please submit it through the [GitHub Security Bug Bounty][hackerone-github]
44

55
Thanks for helping make GitHub products safe for everyone.
6+
7+
[hackerone-github]: https://hackerone.com/github

docs/architecture.md

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -44,16 +44,15 @@ library (C#). The library targets .NET Standard as well as .NET Framework.
4444
> **Note**
4545
>
4646
> The reason for also targeting .NET Framework directly is that the
47-
> `Microsoft.Identity.Client` ([MSAL.NET](https://github.com/AzureAD/microsoft-authentication-library-for-dotnet))
47+
> `Microsoft.Identity.Client` ([MSAL.NET][])
4848
> library requires a .NET Framework target to be able to show the embedded web
4949
> browser auth pop-up on Windows platforms.
5050
>
5151
> There are extension points that now exist in MSAL.NET meaning we can plug-in
5252
> our own browser pop-up handling code on .NET meaning both Windows and
5353
> Mac. We haven't yet gotten around to exploring this.
5454
>
55-
> See [this](https://github.com/GitCredentialManager/git-credential-manager/issues/113)
56-
> issue for more information.
55+
> See [GCM issue 113][] for more information.
5756
5857
The entry-point for GCM can be found in the `Git-Credential-Manager`
5958
project, a console application that targets both .NET and .NET Framework.
@@ -80,9 +79,9 @@ helpers on Windows.
8079

8180
### Cross-platform UI
8281

83-
We hope to be able to migrate the WPF/Windows only helpers to [Avalonia](https://avaloniaui.net/)
84-
in order to gain cross-platform graphical user interface support. See [this](https://github.com/GitCredentialManager/git-credential-manager/issues/136)
85-
issue for up-to-date progress on this effort.
82+
We hope to be able to migrate the WPF/Windows only helpers to [Avalonia][]
83+
in order to gain cross-platform graphical user interface support. See
84+
[GCM issue 136][] for up-to-date progress on this effort.
8685

8786
### Microsoft authentication
8887

@@ -148,7 +147,7 @@ Git Credential Manager maintains a set of known commands including
148147
GCM also maintains a set of known, registered host providers that implement
149148
the `IHostProvider` interface. Providers register themselves by adding an
150149
instance of the provider to the `Application` object via the `RegisterProvider`
151-
method [in `Core.Program`](../src/shared/Git-Credential-Manager/Program.cs).
150+
method in [`Core.Program`][].
152151
The `GenericHostProvider` is registered last so that it can handle all other
153152
HTTP-based remotes as a catch-all, and provide basic username/password auth and
154153
detect the presence of Windows Integrated Authentication (Kerberos, NTLM,
@@ -162,7 +161,7 @@ The `Get|Store|EraseCommand`s consult the host provider registry for the most
162161
appropriate host provider. The default registry implementation select the a host
163162
provider by asking each registered provider in turn if they understand the
164163
request. The provider selection can be overridden by the user via the
165-
[`credential.provider`](configuration.md#credentialprovider) or [`GCM_PROVIDER`](environment.md#GCM_PROVIDER)
164+
[`credential.provider`][] or [`GCM_PROVIDER`][]
166165
configuration and environment variable respectively (3)).
167166

168167
The `Get|Store|EraseCommand`s call the corresponding
@@ -277,3 +276,11 @@ operation/authentication.
277276
The `ITrace` component can be found on the `ICommandContext` object or passed in
278277
directly to some constructors. Verbose and diagnostic information is be written
279278
to the trace object in most places of GCM.
279+
280+
[avalonia]: https://avaloniaui.net/
281+
[`core.program`]: ../src/shared/Git-Credential-Manager/Program.cs
282+
[`credential.provider`]: configuration.md#credentialprovider
283+
[GCM issue 113]: https://github.com/GitCredentialManager/git-credential-manager/issues/113
284+
[GCM issue 136]: https://github.com/GitCredentialManager/git-credential-manager/issues/136
285+
[`GCM_PROVIDER`]: environment.md#GCM_PROVIDER
286+
[msal.net]: https://github.com/AzureAD/microsoft-authentication-library-for-dotnet

0 commit comments

Comments
 (0)