首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在docker container中的bash命令提示符上添加git分支名称

在docker container中的bash命令提示符上添加git分支名称
EN

Stack Overflow用户
提问于 2021-02-09 11:42:39
回答 1查看 102关注 0票数 0

在我本地的bash中,我可以通过在~/.bashrc中添加以下代码,在bash命令提示符上添加git分支名称

代码语言:javascript
复制
parse_git_branch() {
     git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
}
export PS1="\u@\h \[\033[32m\]\w\[\033[33m\]\$(parse_git_branch)\[\033[00m\] $ "

在制作docker镜像时,我将相同的代码添加到docker容器~/.bashrc中。但是,它只对当前目录进行着色,而不显示分支名称,如下所示

代码语言:javascript
复制
user@server /workspace/mydir ()

我所期望的如下所示。黄色括号表示我使用的是哪个分支。

代码语言:javascript
复制
user@server /workspace/mydir (master)
EN

Stack Overflow用户

发布于 2021-10-29 02:03:37

这就是我在docker文件中必须做的事情,其中<<USERNAME>>应该替换为运行docker的用户:

代码语言:javascript
复制
### Setup git branch view in CLI ############
RUN echo "parse_git_branch() {" >> /home/<<USERNAME>>/.bashrc \
    && echo "    git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\\\1)/'" >> /home/<<USERNAME>>/.bashrc \
    && echo "}" >> /home/<<USERNAME>>/.bashrc \
    && echo "export PS1='\u@\h \[\033[32m\]\w\[\033[33m\]\$(parse_git_branch)\[\033[00m\] $ '" >> /home/<<USERNAME>>/.basic

我花了很长时间才弄清楚的是sed命令的grep中1之前需要的三个反斜杠。

我的故障排除包括查看Docker实例中的.bashrc文件。这就是我看到(\1)()所取代的地方。因此,如果您遇到此问题,而我的修复方法对您不起作用,请检查您的.bashrc文件,看看它做了什么。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66112659

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档