-
1. éå§
- 1.1 éę¼ēę¬ę§å¶
- 1.2 Git ēē°”å²
- 1.3 Git åŗē¤č¦é»
- 1.4 å½ä»¤å
- 1.5 Git å®č£ęåø
- 1.6 åꬔčØå® Git
- 1.7 åå¾čŖŖęęä»¶
- 1.8 ęč¦
-
2. Git åŗē¤
- 2.1 åå¾äøå Git åå²
- 2.2 ē“éč®ę“å°ēę¬åŗ«äø
- 2.3 ęŖ¢č¦ęäŗ¤ēę·å²čØé
- 2.4 復å
- 2.5 čé 端ååå·„ä½
- 2.6 ęØē±¤
- 2.7 Git Aliases
- 2.8 ēø½ēµ
-
3. ä½æēØ Git åęÆ
- 3.1 簔述åęÆ
- 3.2 åęÆååä½µēåŗę¬ēØę³
- 3.3 åęÆē®”ē
- 3.4 åęÆå·„ä½ęµēØ
- 3.5 é 端åęÆ
- 3.6 č”å
- 3.7 ēø½ēµ
-
4. ä¼ŗęåØäøē Git
- 4.1 éčØåå®
- 4.2 åØä¼ŗęåØäøä½ē½² Git
- 4.3 ē¢ēä½ ē SSH å ¬é°
- 4.4 čØå®ä¼ŗęåØ
- 4.5 Git åøøé§ēØå¼
- 4.6 Smart HTTP
- 4.7 GitWeb
- 4.8 GitLab
- 4.9 第3ę¹ Git čØē®”ę¹ę”
- 4.10 ēø½ēµ
-
5. åę£å¼ē Git
- 5.1 åę£å¼å·„ä½ęµēØ
- 5.2 å°å°ę”é²č”č²¢ē»
- 5.3 ē¶č·äøåå°ę”
- 5.4 Summary
-
6. GitHub
- 6.1 建ē«åø³ę¶åčØå®
- 6.2 åčäøåå°ę”
- 6.3 ē¶č·å°ę”
- 6.4 Managing an organization
- 6.5 Scripting GitHub
- 6.6 ēø½ēµ
-
7. Git å·„å ·
- 7.1 Revision Selection
- 7.2 Interactive Staging
- 7.3 Stashing and Cleaning
- 7.4 Signing Your Work
- 7.5 Searching
- 7.6 Rewriting History
- 7.7 Reset Demystified
- 7.8 Advanced Merging
- 7.9 Rerere
- 7.10 Debugging with Git
- 7.11 Submodules
- 7.12 Bundling
- 7.13 Replace
- 7.14 Credential Storage
- 7.15 ēø½ēµ
-
8. Customizing Git
- 8.1 Git Configuration
- 8.2 Git Attributes
- 8.3 Git Hooks
- 8.4 An Example Git-Enforced Policy
- 8.5 Summary
-
9. Git and Other Systems
- 9.1 Git as a Client
- 9.2 Migrating to Git
- 9.3 Summary
-
10. Git Internals
- 10.1 Plumbing and Porcelain
- 10.2 Git Objects
- 10.3 Git References
- 10.4 Packfiles
- 10.5 The Refspec
- 10.6 Transfer Protocols
- 10.7 Maintenance and Data Recovery
- 10.8 Environment Variables
- 10.9 Summary
-
A1. éé A: Git in Other Environments
- A1.1 Graphical Interfaces
- A1.2 Git in Visual Studio
- A1.3 Git in Eclipse
- A1.4 Git in Bash
- A1.5 Git in Zsh
- A1.6 Git in Powershell
- A1.7 Summary
-
A2. éé B: Embedding Git in your Applications
- A2.1 Command-line Git
- A2.2 Libgit2
- A2.3 JGit
-
A3. éé C: Git Commands
- A3.1 Setup and Config
- A3.2 Getting and Creating Projects
- A3.3 Basic Snapshotting
- A3.4 Branching and Merging
- A3.5 Sharing and Updating Projects
- A3.6 Inspection and Comparison
- A3.7 Debugging
- A3.8 Patching
- A3.9 Email
- A3.10 External Systems
- A3.11 Administration
- A3.12 Plumbing Commands
A1.4 éé A: Git in Other Environments - Git in Bash
Git in Bash
If youāre a Bash user, you can tap into some of your shellās features to make your experience with Git a lot friendlier. Git actually ships with plugins for several shells, but itās not turned on by default.
First, you need to get a copy of the contrib/completion/git-completion.bash
file out of the Git source code.
Copy it somewhere handy, like your home directory, and add this to your .bashrc
:
. ~/git-completion.bash
Once thatās done, change your directory to a git repository, and type:
$ git chec<tab>
ā¦and Bash will auto-complete to git checkout
.
This works with all of Gitās subcommands, command-line parameters, and remotes and ref names where appropriate.
Itās also useful to customize your prompt to show information about the current directoryās Git repository.
This can be as simple or complex as you want, but there are generally a few key pieces of information that most people want, like the current branch, and the status of the working directory.
To add these to your prompt, just copy the contrib/completion/git-prompt.sh
file from Gitās source repository to your home directory, add something like this to your .bashrc
:
. ~/git-prompt.sh
export GIT_PS1_SHOWDIRTYSTATE=1
export PS1='\w$(__git_ps1 " (%s)")\$ '
The \w
means print the current working directory, the \$
prints the $
part of the prompt, and __git_ps1 " (%s)"
calls the function provided by git-prompt.sh
with a formatting argument.
Now your bash prompt will look like this when youāre anywhere inside a Git-controlled project:

bash
prompt.Both of these scripts come with helpful documentation; take a look at the contents of git-completion.bash
and git-prompt.sh
for more information.