2011-04-17 50 views
38

我只对git使用终端(mac),并且我只对一个目录使用git。是否可以设置默认目录(打开终端时的目录)到我使用git的目录,如果有的话?在mac终端中设置默认目录

回答

56

因为Mac OS X Lion的10.7,终端支持恢复,默认情况下会自动恢复,当你退出你有开放的终端,恢复其工作目录。所以,你可以打开一个新的终端并cd到你的git目录,然后在退出时保持窗口打开。每次您重新打开终端时,终端都会在同一个目录中。 (这在默认情况下适用于bash,如果你使用其他shell,你需要将/ etc/bashrc中的代码调整到你的shell。我已经在SuperUser的Resume Zsh-Terminal (OS X Lion)的回答中发布了zsh代码。)

您还可以安排终端在特定目录中启动一个shell。您可以自定义或创建一个“设置配置文件”发出“CD”当它开始命令:

终端>首选项>设置> [资料]>壳牌>启动>运行命令

启用“Run command”和“Run inside shell”,然后将命令设置为cd your_git_directory。当你用这个配置文件打开一个新的终端时,它将会进入你的git目录。

我建议您使用配置文件列表底部的动作(“齿轮”)菜单复制当前的默认配置文件(如果您从未更改过它,默认为“基本”),然后自定义该配置文件。

最后,系统将自动打开一个终端与此配置文件,当你打开终端,设置

终端>首选项>启动>启动时,打开

到您的自定义配置文件。 (在Lion上,Resume会恢复在退出时打开的窗口,而不是执行启动操作。正如我所提到的,当您退出时,您可以将此终端打开并在再次打开终端时恢复。可以在退出时按下Option修饰键;退出菜单项将变为“退出并放弃Windows”,下次打开终端时,它将执行启动操作。)

+0

超级有用的感谢!我已经为启动选项卡配置了每个我的Xcode项目和git子模块目录,标题和颜色。每个启动一个git fetch和git状态。甜! – 2014-04-17 07:58:52

+0

“运行命令”的方式似乎不工作,如果你使用的东西除了“壳打开”“默认登录shell”(需要更快的启动,例如http://apple.stackexchange.com/questions/41743/how -do-i-speed-up-new-terminal-tab-loading-time)... [?]无论如何iterm2似乎允许所需的行为,回到它 rogerdpack 2015-03-19 21:33:42

+0

@rogerdpack如果您设置** Shells打开:**或**运行命令:**到终端在'/ etc/shells'中找不到的命令它认为它不是一个shell并且禁用诸如“最后登录”横幅和**内部运行贝壳**。这是解决方法工作的唯一原因。您最好避免使用这种解决方法,并定期清除系统日志,特别是如果您先检查日志大小 - 如果它不是太大,则解决方法没有问题。 (请考虑向苹果公司提交关于登录性能的错误报告。) – 2015-03-20 04:32:50

31

尝试echo "cd $directory" >> ~/.bash_profile

+2

谢谢,我打开了。〜/ .bash_profile,并对其进行了编辑! – 2011-04-17 22:19:23

+9

我不得不使用:'echo“cd”\'pwd \'>>〜/。bash_profile' – meetar 2014-10-13 14:51:07

16

我喜欢'新窗口打开:相同的工作目录“。我发现这个问题的所有答案(许多SO)都会通过总是进入新的主目录来打破该设置。以下是我在.profile(或.bashrc等)顶部使用的内容。

export START="/Users/michael/my/starting/directory" 
if [[ $PWD == $HOME ]]; then 
    cd $START 
fi 

这将看到,如果你是在你的HOME目录只在启动,如果是更改为新START目录。这样新窗口不会自动运行这个命令。

唯一需要注意的是,如果您在实际的HOME目录中并打开一个新窗口,它会带您到START。这是预期的。

+4

经过长时间搜索后找到的最佳解决方案。 – hbmuller 2017-01-06 16:36:11