标签: git

在 Linux 上是否有可用的 gui 前端来 git?

我以前是 Windows 用户,刚开始使用 ubuntu。在 Windows 上,我们有两个很棒的软件:TortoiseSVNTortoiseGit. 两者都是非常好的程序,它们允许我们在不知道单个 cli 命令的情况下执行所有操作,例如提交、回滚、合并、查看历史记录、浏览存储库等。

现在在 linux 上,我发现很难记住所有内容的 git 命令。git pushgit remote add罚款。但合并是乏味的,尤其是解决冲突。在 TortoiseGit 中,只需单击几下鼠标右键即可!

我发现了一些垃圾,如 git-gui 等,但这些功能无法与 TortoiseGit 相提并论。为什么 Linux 系统上没有任何成熟的 TortoiseGit 端口?

software-rec gui git

26
推荐指数
3
解决办法
2万
查看次数

Github 添加一个仓库作为一个现有克隆的分支

所以我有一个从 github 上的上游源克隆的 git 存储库。我对其进行了一些更改(在 master 分支中未提交)。我想要做的是将我的更改作为一个新分支推送到我的 github 页面上,并且让 github 仍然将其视为一个分支。

那可能吗?我对 git 和 github 相当陌生。我的问题甚至有意义吗?

我能想到的最简单的方法(我确定这是最绕的方法)是在 github 上分叉 repo。在本地将其克隆到不同的目录。添加上游源代码库。在那个新的分叉仓库中创建一个分支。将我的代码更改手动复制到新的本地存储库中。然后把它推回我的github。

这是一个常见的用例,有一种更简单的方法可以在不复制目录的情况下做到这一点吗?

我想我是在这里问而不是 SO 因为我在 linux 上使用命令行 git 并且这里的人给出了更好的答案 imo =]

git version-control github

25
推荐指数
1
解决办法
2万
查看次数

给定一个 git commit hash,如何找出哪个内核版本包含它?

假设我有一些问题已由官方 Linux git 存储库的最新补丁修复。我有一个变通方法,但是当发布包含我的修复程序的版本时,我想撤消它。我知道确切的 git commit hash,例如f3a1ef9cee4812e2d08c855eb373f0d83433e34c

回答这个问题最简单的方法是什么:到目前为止,哪些内核版本包含这个补丁?如果不需要本地 Linux git 存储库,则可以加分。

LWM讨论了一些想法,但这些确实需要本地存储库。)

linux source git linux-kernel

25
推荐指数
2
解决办法
1万
查看次数

访问私钥时 GPG 挂起

我喜欢用我的 PGP 密钥签署我的 git 提交,所以当我去的时候我很震惊,git commit -S但没有提示我输入 PGP 密钥密码,git 刚刚开始挂起。几个月来我没有对我的 GPG 设置进行任何更改,并且从那时起进行了多次提交,没有任何问题。此外,当我尝试使用 来查看我的私钥时gpg -K,gpg 会挂起。但是,当我运行gpg -k查看我的公钥时,它会像往常一样返回列表。希望有人会对导致此问题的原因以及如何解决此问题有所了解。

git gpg pgp openpgp

25
推荐指数
1
解决办法
1万
查看次数

如何找到包含 git commit 的第一个标签?

我有我感兴趣的提交的 SHA ID,并想知道如何找到包含它的第一个标签。

git

23
推荐指数
2
解决办法
7780
查看次数

如何修改使用 git 源仅提取浅层克隆的 PKGBUILD?

有一天,我尝试安装opencv-gitAURmakepkg上Arch Linux的。当然,正如名称所示,它是从git存储库中提取的。这会拉出 1Gb。我读有关使浅克隆git。当我查看PKGBUILD文件时,使用grep git PKGBUILD,我看到:

pkgname="opencv-git"
makedepends=('git' 'cmake' 'python2-numpy' 'mesa' 'eigen2')
provides=("${pkgname%-git}")
conflicts=("${pkgname%-git}")
source=("${pkgname%-git}::git+http://github.com/Itseez/opencv.git"
    cd "${srcdir}/${pkgname%-git}"
    git describe --long | sed -r 's/([^-]*-g)/r\1/;s/-/./g'
    cd "${srcdir}/${pkgname%-git}"
    cd "${srcdir}/${pkgname%-git}"
    cd "${srcdir}/${pkgname%-git}"
    install -Dm644 "LICENSE" "${pkgdir}/usr/share/licenses/${pkgname%-git}/LICENSE"
Run Code Online (Sandbox Code Playgroud)

有没有办法修改配方或makepkg命令以仅提取浅克隆(源的最新版本是我想要的)而不是完整的存储库以节省空间和带宽?阅读man 5 PKGBUILD并没有提供我正在寻找的洞察力。还快速浏览了makepkgpacman 联机帮助页- 似乎无法找到如何做到这一点。

arch-linux git

23
推荐指数
3
解决办法
2万
查看次数

让树隐藏 gitignored 文件

有没有办法tree不显示被忽略的文件.gitignore

git tree

23
推荐指数
5
解决办法
3010
查看次数

可以跨多个存储库设置 git 配置吗?

Git 似乎支持三个级别的配置值:

  • 每个系统的全局设置(存储在/etc/git-core
  • 每用户全局设置(存储在~/.gitconfig
  • 每个存储库的本地设置(存储在$REPO/.git/config

这些选项涵盖了大部分基础,但我正在寻找一种处理第四级的方法。我有一个(非常)大的存储库集合,我需要为其使用与user.email平时不同的值。这些存储库通常是通过自动化脚本创建和操作的,并且为每个存储库设置本地设置很麻烦。

所有有问题的存储库都位于我本地系统上的某个路径前缀下。有没有办法在某处设置一个配置值,该值将由该路径下的所有存储库继承?(有点像.htaccess设置沿文件系统一直向上继承。)也许有一种方法可以在全局配置文件中设置条件值?在 UNIX 环境中还可以进行哪些其他安排来处理像我这样的一组存储库?

shell git

22
推荐指数
3
解决办法
4077
查看次数

如何从邮件列表中获取 linux 内核补丁集?

我不订阅 linux-kernel 邮件列表,但我想获得一组几周前发布的补丁并将它们应用到我的内核中进行测试。我对修补、构建等非常熟悉。我的问题是,获得此补丁集副本的最佳方法是什么?它不适用于我所知道的任何 Git 存储库,它只是被发布到邮件列表中进行讨论。

我找到了许多存档 linux-kernel 邮件列表的站点,我可以在那里看到补丁集,但是这些站点都没有下载原始电子邮件的任何方法(我可以找到),因此我可以使用“git apply “或“补丁”或其他什么。只需从我的网络浏览器复制/粘贴内容,由于空格差异等,它似乎不会很成功。

人们如何管理这个?

patch git linux-kernel

22
推荐指数
3
解决办法
2万
查看次数

使用 zsh 完成 git:带空格的文件名没有被正确转义

Git完成:

我的系统上的 git 文件名自动完成有困难。我在 OS X (10.9.3) 上使用zsh(5.0.5) 和git(1.9.3)。双方zshgit已通过自制软件已经安装完毕。(完整版输出在帖子底部。)

git的文件名补全没有像我期望的那样插入空格。当我输入名称中带有空格的文件名时,shell 会插入文件名而不转义空格。zsh的内置完成不会这样做,但git's 做了。

这是我所看到的一个例子。

我有一个存储库,其中包含一些名称中带有空格的文件。

% ls -la
test
test four - latest.txt
test three.txt
test two
Run Code Online (Sandbox Code Playgroud)

当我使用制表符完成插入文件名时,shell 反斜杠会按预期对文件名进行转义。

% echo "testing" >> test<tab>
Run Code Online (Sandbox Code Playgroud)

点击标签三下后自动完成。

% echo "testing" >> test\ four\ -\ latest.txt
––– file
test                       test\ four\ -\ latest.txt  test\ three.txt            test\ two                
Run Code Online (Sandbox Code Playgroud)

git status 用引号显示这些文件名(它完全理解发生了什么):

% git status --short
 M test
 M "test four - latest.txt" …
Run Code Online (Sandbox Code Playgroud)

zsh git autocomplete

22
推荐指数
1
解决办法
3394
查看次数