回答
添加到您的.bashrc
:
gitstatusinwork() {
if [[ "$PWD" != "$MYOLDPWD" ]]; then
MYOLDPWD="$PWD"
if [[ "$PWD/" = ~/work/* ]]; then
if [[ "$OLDPWD" != ~/work/* && "$INWORKDIR" == 0 ]]; then
git status
fi
INWORKDIR=1
else
INWORKDIR=0
fi
fi
}
export PROMPT_COMMAND="$PROMPT_COMMAND; gitstatusinwork"
此功能只要執行git status
您輸入您~/work
目錄(或其任何子目錄),則不會再顯示出來,除非你走出~/work
的目錄並重新輸入。
謝謝你的完美。 – napoleon
不要忘記接受做你想做的答案。 –
最簡單的方法是:
cd ~/work && git status
我不認爲你正在尋找這雖然。
另一個選項是覆蓋默認的cd
命令。你可以在你的.bashrc
或.bash_profile
文件的末尾放置一個bash的功能,像這樣:
cd() {
builtin cd "$1"
# detect if the current directory is a git repository
if [ -d .git ] || git rev-parse --is-inside-work-tree 2> /dev/null > /dev/null; then
echo ""; git status
fi
}
我希望這有助於。
更新:
如果你只是想看看git status
當你cd
到您的回購協議的根源,你可以使用的條件,像這樣的第一部分:
cd() {
builtin cd "$1"
# detect if the current directory is a git repository
if [ -d .git ]; then
echo ""; git status
fi
}
謝謝,這很有趣,我不必爲其他回購製作不同的別名。 我甚至沒有考慮覆蓋默認命令,下次我會記得這種可能性! – napoleon
我喜歡這個。我認爲這會讓很多人瘋狂,因爲他們圍繞回購協議內的目錄跳躍,但我幾乎從不這樣做;我擁有掃描相關文件的別名,並使用相對路徑打開它們,以便一個別名可以從回購根目錄添加/提交/推送,並獲取所有更改,而無需爬入和移出子目錄。對我來說,這太棒了。 –
@PaulHodges如果你只是採用條件的第一部分,它只會在根目錄下工作。我會發布更新。 –
- 1. 從CD自動啓動創建我自己的啓動選項
- 2. 批處理命令將目錄移動到另一個目錄
- 3. 鍵入「cd」命令到linux git目錄時發生了什麼?
- 4. 如何執行某些命令時,某人cd到特定的目錄
- 5. 定製cd命令
- 6. cd命令不會改變目錄。命令提示符
- 7. Ranger自定義命令將文件移動到預先指定的目錄?
- 8. 如何啓動一個psql命令行?
- 9. Vim的自動命令文件類型沒有被啓動時
- 10. java項目裏面的啓動命令
- 11. 如何從usercontrol啓動一個命令到一個窗口
- 12. 編程啓動Terminal.app與一個指定的命令(以及自定義顏色)
- 13. 啓動一個命令行,包括來自C#的參數#
- 14. 你如何通過命令調用終端並cd到目錄?
- 15. 在啓動時找不到目錄
- 16. Crontab CD到目錄
- 17. 在啓動python shell時自動執行命令
- 18. DOS啓動命令確實打開帶空格的目錄
- 19. 查找命令行選項一個進程啓動與
- 20. 簡單的手動啓動用戶指令,以防Windows CD無法自動啓動
- 21. JVM命令啓動選項複製
- 22. 來自android命令行的GNURoot或開機時的自動啓動
- 23. 定時器後啓動一個活動
- 24. 使用啓動命令將命令傳遞到另一個cmd窗口
- 25. LINUX/UNIX:腳本啓動一些命令,如果一些目錄樹中存在
- 26. 爲命令啓動定義回調
- 27. adb shell命令 - cd:沒有這樣的文件或目錄
- 28. 啓動刀配置命令時出錯
- 29. 在啓動時運行u-boot命令
- 30. 在Emacs啓動時執行命令(emacs.el)
爲什麼不?這是一個簡單的解決方案,可以讓您控制結果。如果你不想要別名,那麼我的下一個最好的臨時解決方案將是一個非常醜陋的解決方案 - 我可能會設置一個陷阱調試以掃描最後執行的命令並運行'git status'(如果它是cd到*/work中。這是自動的,但受到bug和很多修補。 –
我試圖強迫自己製作腳本。 但我會做一個別名! – napoleon
鍛鍊所有的bash肌肉! :D –