比方说,你有一个alias像bash 一样:
alias rxvt='urxvt'
Run Code Online (Sandbox Code Playgroud)
哪个工作正常.
然而:
alias rxvt='urxvt -fg '#111111' -bg '#111111''
Run Code Online (Sandbox Code Playgroud)
不会起作用,也不会:
alias rxvt='urxvt -fg \'#111111\' -bg \'#111111\''
Run Code Online (Sandbox Code Playgroud)
那么,一旦转义了引号,你最终如何在字符串中匹配开头和结尾的引号?
alias rxvt='urxvt -fg'\''#111111'\'' -bg '\''#111111'\''
Run Code Online (Sandbox Code Playgroud)
看起来很笨拙虽然如果你允许这样连接它们就会代表相同的字符串.
我想找出谁创建了一个分支.
我有点能够这样做:
git branch -a | xargs -L 1 bash -c 'echo "$1 `git log --pretty=format:"%H %an" $1^..$1`"' _
Run Code Online (Sandbox Code Playgroud)
但是,这会返回每个分支的最后一个提交者,而不一定是创建分支的人.
我需要从远程仓库中删除旧的和未维护的分支.我正试图找到一种方法来列出他们上次修改日期的远程分支,但我不能.
有人知道以这种方式列出远程分支的简单方法吗?
如何按照上次提交的日期列出显示和排序的git分支?
我发现了这个:
for k in `git branch | sed s/^..//`; do
echo -e `git log -1 --pretty=format:"%Cgreen%ci %Cblue%cr%Creset" "$k"`\\t"$k";
done | sort -r
Run Code Online (Sandbox Code Playgroud)
我希望普通的git能够拥有这个功能.可以?
我也发现git show-branch --date-order但是输出是不同的.
怎么可能得到一些远程起源分支的所有名称?
我从--remote --list选项开始,但从origin/HEAD -> origin/master另一个来源获得冗余消息和分支.
$> git branch --remote --list
origin/HEAD -> origin/master
origin1/develop
origin1/feature/1
origin1/feature/2
origin1/feature/3
origin1/master
origin2/develop
origin2/feature/1
origin2/feature/2
origin2/master
Run Code Online (Sandbox Code Playgroud)
特定原点的分支可以与<pattern>选项匹配,但冗余消息仍然存在.实际上,这种模式并不是真正正确的,因为某些原点的名称可能是另一个原始名称的子串,甚至是某个分支.
$> git branch --remote --list origin1*
origin1/HEAD -> origin/master
origin1/develop
origin1/feature/1
origin1/feature/2
origin1/feature/3
origin1/master
Run Code Online (Sandbox Code Playgroud)
我在寻找的是一个分支名称列表origin1,其中任何一个都可以用于git checkout命令.像这样的东西:
develop
feature/1
feature/2
feature/3
master
Run Code Online (Sandbox Code Playgroud)
重要的是,它不应该做grep,sed,tail甚至ghc -e包装,只有真正的git力量,因为他们unsafeness和变异.
我有时使用包含许多分支的源代码存储库,其中大多数分支都是旧的,通常不再相关.
在这些情况下,完整的分支列表git branch不是很有帮助.有没有办法只列出"活跃"分支?例如,只有在过去n天内收到提交的分支?理想情况下,列表将包括每个分支的最后提交日期,并指示分支是否已完全合并.
PS:我意识到这也可以通过删除"旧"分支来解决(例如,如何处理实验性非合并git分支?),但这可能并不总是实际的或在给定项目上被接受.
当我在git分支之间移动时,我有时会忘记我最近在的分支的名称.如何显示最近签出的分支/标签/提交列表?
当我输入时git branch,我会收到一个分支列表,这些分支看起来按字母顺序排序,而不是按创建时间排序.
有没有办法git branch按日期排序?
我们的开发团队正在使用git,我们最近至少两次丢失了对文件的更改.我们正在使用私人Github回购.
在当前的情况下,我们可以返回Github上的日志并查看我对文件所做的一些更新.后来,另一个团队成员更改了文件的不同部分,似乎已经破坏了我的更改.我还在当地买它们.
还有其他人经历过这个吗?任何原因或解决方案?
我不认为有任何人做任何垫底或任何幻想-只需推拉.
我想在 git 别名中使用 bash 函数。所以我将其添加到我的.bashrc:
fn() {
echo "Hello, world!"
}
export -f fn
Run Code Online (Sandbox Code Playgroud)
以及我的.gitconfig:
[alias]
fn = !fn
Run Code Online (Sandbox Code Playgroud)
但随后git fn会产生错误:
fatal: cannot run fn: No such file or directory
fatal: While expanding alias 'fn': 'fn': No such file or directory
Run Code Online (Sandbox Code Playgroud)
这是在 git 别名定义中使用 bash 函数的正确方法吗?
git ×9
git-branch ×5
branch ×3
bash ×2
alias ×1
config ×1
date ×1
function ×1
git-checkout ×1
github ×1
list ×1
maintenance ×1
quoting ×1
sorting ×1
syntax ×1