<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hant-TW">
	<id>https://jiva.dila.edu.tw/index.php?action=history&amp;feed=atom&amp;title=Pro_Git_2.7_%E6%8A%80%E5%B7%A7%E5%92%8C%E7%AB%85%E9%96%80</id>
	<title>Pro Git 2.7 技巧和竅門 - 修訂歷史</title>
	<link rel="self" type="application/atom+xml" href="https://jiva.dila.edu.tw/index.php?action=history&amp;feed=atom&amp;title=Pro_Git_2.7_%E6%8A%80%E5%B7%A7%E5%92%8C%E7%AB%85%E9%96%80"/>
	<link rel="alternate" type="text/html" href="https://jiva.dila.edu.tw/index.php?title=Pro_Git_2.7_%E6%8A%80%E5%B7%A7%E5%92%8C%E7%AB%85%E9%96%80&amp;action=history"/>
	<updated>2026-05-05T14:09:21Z</updated>
	<subtitle>本 Wiki 上此頁面的修訂歷史</subtitle>
	<generator>MediaWiki 1.39.1</generator>
	<entry>
		<id>https://jiva.dila.edu.tw/index.php?title=Pro_Git_2.7_%E6%8A%80%E5%B7%A7%E5%92%8C%E7%AB%85%E9%96%80&amp;diff=529&amp;oldid=prev</id>
		<title>imported&gt;Ray：​新頁面: 在結束本章之前，我還想和大家分享一些 Git 使用的技巧和竅門。很多使用 Git 的開發者可能根本就沒用過這些技巧，我們也不是說在讀過本書...</title>
		<link rel="alternate" type="text/html" href="https://jiva.dila.edu.tw/index.php?title=Pro_Git_2.7_%E6%8A%80%E5%B7%A7%E5%92%8C%E7%AB%85%E9%96%80&amp;diff=529&amp;oldid=prev"/>
		<updated>2011-05-24T08:52:14Z</updated>

		<summary type="html">&lt;p&gt;新頁面: 在結束本章之前，我還想和大家分享一些 Git 使用的技巧和竅門。很多使用 Git 的開發者可能根本就沒用過這些技巧，我們也不是說在讀過本書...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新頁面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;在結束本章之前，我還想和大家分享一些 Git 使用的技巧和竅門。很多使用 Git 的開發者可能根本就沒用過這些技巧，我們也不是說在讀過本書後非得用這些技巧不可，但至少應該有所瞭解吧。說實話，有了這些小竅門，我們的工作可以變得更簡單，更輕鬆，更高效。&lt;br /&gt;
&lt;br /&gt;
=自動完成=&lt;br /&gt;
&lt;br /&gt;
如果你用的是 Bash shell，可以試試看 Git 提供的自動完成腳本。下載 Git 的原始程式碼，進入 contrib/completion 目錄，會看到一個 git-completion.bash 文件。將此檔複製到你自己的用戶主目錄中（譯注：按照下面的示例，還應改名加上點：cp git-completion.bash ~/.git-completion.bash），並把下面一行內容添加到你的 .bashrc 文件中：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
source ~/.git-completion.bash&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
也可以為系統上所有使用者都設置預設使用此腳本。Mac 上將此腳本複製到 /opt/local/etc/bash_completion.d 目錄中，Linux 上則複製到 /etc/bash_completion.d/ 目錄中即可。這兩處目錄中的腳本，都會在 Bash 啟動時自動載入。&lt;br /&gt;
&lt;br /&gt;
如果在 Windows 上安裝了 msysGit，預設使用的 Git Bash 就已經配好了這個自動完成腳本，可以直接使用。&lt;br /&gt;
&lt;br /&gt;
在輸入 Git 命令的時候可以敲兩次跳格鍵（Tab），就會看到列出所有匹配的可用命令建議：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
$ git co&amp;lt;tab&amp;gt;&amp;lt;tab&amp;gt;&lt;br /&gt;
commit config&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
此例中，鍵入 git co 然後連按兩次 Tab 鍵，會看到兩個相關的建議（命令） commit 和 config。繼而輸入 m&amp;lt;tab&amp;gt; 會自動完成 git commit 命令的輸入。&lt;br /&gt;
&lt;br /&gt;
命令的選項也可以用這種方式自動完成，其實這種情況更實用些。比如執行 git log 的時候忘了相關選項的名字，可以輸入開頭的幾個字母，然後敲 Tab 鍵看看有哪些匹配的：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
$ git log --s&amp;lt;tab&amp;gt;&lt;br /&gt;
--shortstat  --since=  --src-prefix=  --stat   --summary&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
這個技巧不錯吧，可以節省很多輸入和查閱文檔的時間。&lt;br /&gt;
&lt;br /&gt;
=Git 命令別名=&lt;br /&gt;
&lt;br /&gt;
Git 並不會推斷你輸入的幾個字元將會是哪條命令，不過如果想偷懶，少敲幾個命令的字元，可以用 git config 為命令設置別名。來看看下面的例子：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
$ git config --global alias.co checkout&lt;br /&gt;
$ git config --global alias.br branch&lt;br /&gt;
$ git config --global alias.ci commit&lt;br /&gt;
$ git config --global alias.st status&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
現在，如果要輸入 git commit 只需鍵入 git ci 即可。而隨著 Git 使用的深入，會有很多經常要用到的命令，遇到這種情況，不妨建個別名提高效率。&lt;br /&gt;
&lt;br /&gt;
使用這種技術還可以創造出新的命令，比方說取消暫存檔時的輸入比較繁瑣，可以自己設置一下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
$ git config --global alias.unstage 'reset HEAD --'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
這樣一來，下面的兩條命令完全等同：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
$ git unstage fileA&lt;br /&gt;
$ git reset HEAD fileA&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
顯然，使用別名的方式看起來更清楚。另外，我們還經常設置 last 命令：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
$ git config --global alias.last 'log -1 HEAD'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
然後要看最後一次的提交資訊，就變得簡單多了：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
$ git last&lt;br /&gt;
commit 66938dae3329c7aebe598c2246a8e6af90d04646&lt;br /&gt;
Author: Josh Goebel &amp;lt;dreamer3@example.com&amp;gt;&lt;br /&gt;
Date:   Tue Aug 26 19:48:51 2008 +0800&lt;br /&gt;
&lt;br /&gt;
    test for current head&lt;br /&gt;
&lt;br /&gt;
    Signed-off-by: Scott Chacon &amp;lt;schacon@example.com&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
可以看出，實際上 Git 只是簡單地在命令中替換了你設置的別名。不過有時候我們希望執行某個外部命令，而非 Git 的附屬工具，這個好辦，只需要在命令前加上 ! 就行。如果你自己寫了些處理 Git 倉庫資訊的腳本的話，就可以用這種技術包裝起來。作為示範，我們可以設置用 git visual 啟動 gitk：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
$ git config --global alias.visual &amp;quot;!gitk&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>imported&gt;Ray</name></author>
	</entry>
</feed>