标签: git

没有包 * 可用。无法通过 yum 安装 git

我正在尝试在我的 Red Hat Enterprise Linux 6.5 服务器上安装 git,但遇到了麻烦。我无法使用 yum 找到 git 的包依赖项。

    [root@FOOBAR mydir]# yum install curl-devel expat-devel gettext-devel \
    >   openssl-devel zlib-devel
    Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
    This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
    Setting up Install Process
    No package curl-devel available.
    No package expat-devel available.
    No package gettext-devel available.
    No package openssl-devel available.
    No package zlib-devel available.
    Error: Nothing to do
Run Code Online (Sandbox Code Playgroud)

在阅读了一些论坛帖子后,我在这里找到了 EPEL 包,并安装了它:

    [root@FOOBAR mydir]# …
Run Code Online (Sandbox Code Playgroud)

bash yum rhel git

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

通过 ssh 通信时 git 使用哪些命令?

使用command=""in authorized_keys,我可以限制可以由特定键运行的命令。

我需要允许哪些命令才能拥有正常运行的 git remote?

临Git的书,我可以推断git-upload-packgit-receive-pack是必需的,但有什么事吗?

注意我仍然希望能够正常登录用户,只是不能使用此密钥。

ssh git account-restrictions

5
推荐指数
1
解决办法
1328
查看次数

服务器上的 SSH 代理转发

我正在为SSH Agent Forwarding的概念苦苦挣扎。
这是我到目前为止所做的:

  1. 创建默认身份本地 (ssh-keygen)
  2. 在 bitbucket 上安装公钥

现在我想连接到像 ssh 这样的服务器myserver@myserver.be

然后我通常会使用ssh-keygen在服务器上创建一个密钥,然后再次复制公钥并将其添加到我的 bitbucket SSH 密钥中。之后,我可以克隆我的 SSH 存储库并拉/推到 bitbucket 存储库。但这不是这样做的方法。

如何确保不必在服务器上创建密钥?我读过很多教程像这样,但我仍然使用ssh代理转发挣扎。

更新:

我已经尝试完成教程,但我已经停留在第 1 步。他们说您需要将以下文本添加到您的配置文件(位于 ~/.ssh/config)中:

Host example.com
 ForwardAgent yes
Run Code Online (Sandbox Code Playgroud)

在第一步之前,我的配置文件如下所示:

Host bitbucket.org
 IdentityFile ~/.ssh/id_rsa
Run Code Online (Sandbox Code Playgroud)

在这一步之后,它看起来像这样:

Host bitbucket.org
 IdentityFile ~/.ssh/id_rsa

Host mysite.be
 ForwardAgent yes
Run Code Online (Sandbox Code Playgroud)

要尝试它是否有效,您需要在您的服务器上执行以下命令:

ssh -T git@bitbucket.org
Run Code Online (Sandbox Code Playgroud)

试过了,但Permission denied (publickey).我的服务器上出现错误。

ssh git ssh-agent

5
推荐指数
1
解决办法
4652
查看次数

如何更改git路径?

所以我刚刚安装了最新的 git,以及官方的 mac 安装程序。我在小牛队。

可悲的是, git --version 仍然是

git version 1.9.3 (Apple Git-50)
Run Code Online (Sandbox Code Playgroud)

哪个 git 给了我:

/usr/bin/git
Run Code Online (Sandbox Code Playgroud)

相反,git 安装程序将更新的 git 安装在

/urs/local/git
Run Code Online (Sandbox Code Playgroud)

回显 $PATH 给出:

[some hidden paths]:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/git/bin/:/usr/local/bin
Run Code Online (Sandbox Code Playgroud)

如何让我的 mac 使用正确的更新 git?

osx path git

5
推荐指数
1
解决办法
8991
查看次数

GIT 补全中的奇怪字符

我正在运行 bash

GNU bash,版本 4.3.25(1)-release (x86_64-apple-darwin13.4.0)

在 OS X 10.10.1 上。大约一周前,我注意到自动完成已停止工作,但仅适用于 git。我正在使用此脚本进行 git 自动完成:

https://github.com/git/git/blob/master/contrib/completion/git-completion.bash

在它停止工作几天后,我注意到自动完成仍然适用于以字母 's' 开头的命令(例如 status、show、stash)。之后,我尝试自动完成此命令:

git c
Run Code Online (Sandbox Code Playgroud)

这是输出:

用户:~$ git c^[[m^[[K

c^[[m^[[Kat-file
c^[[m^[[Kheck-attr
c^[[m^[[Kheck-ignore
c^[[m^[[Kheck-mailmap
c^[[m^] [[Kheck-ref-format
c^[[m^[[Kheckout
c^[[m^[[Kheckout-index
c^[[m^[[Kherry
c^[[m^[[Kheckout c^[[m^[]
] [m^[[Kitool
c^[[m^[[Klean
c^[[m^[[Klone
c^[[m^[[Kolumn
c^[[m^[[Kommit
c^[[m^[[] Kommit-tree
c^[[m^[[Konfig
c^[[m^[[Kount-objects
c^[[m^[[Kredential
c^[[m^[[Kredential-cache
c^[[m^[] [Kredential-osxkeychain
c^[[m^[[Kredential-store
c^[[m^[[Kvsexportcommit
c^[[m^[[Kvsimport
c^[[m^[[Kvsserver]

如您所见,在每个命令的第一个字母之后插入了一些奇怪的(转义?)字符(除“s”之外的所有其他字母也是如此)。由于这些字符,自动完成无法按预期工作。

有没有人知道可能导致这种情况的原因?我什至不知道如何调试这个,所以欢迎任何提示。

osx bash git

5
推荐指数
1
解决办法
901
查看次数

从 git 中删除用户时的文件权限

我设置了一个共享的 git 存储库,用户使用ssh协议从中提取。

我想以一种只有特定用户组(例如git_group)中的用户可以访问存储库的方式设置权限。我可以使用以下方法使该组可以访问创建的文件:

  • 设置标识符:chmod g+s。递归:find . -type d print0 | xargs -0 chmod g+s
  • 在访问控制列表中设置默认值。
    • sudo setfacl -R -m g:git_group:rwx .
    • sudo setfacl -R -d -m g:git_group:rwx .

这一切似乎都很好,直到您从git_group. 当该用户推送提交时,他们成为 git 存储库中某些文件的所有者。从组中移除后,该用户仍然可以修改这些文件,并且某些 git 命令仍然可能会成功。


更改 git 存储库中所有文件的所有者将拒绝用户访问存储库,但是是否可以设置存储库以便仅通过将用户从组中删除来拒绝用户访问?

据我所知,使用基本的 linux 文件权限,组被授予比所有者更多的权限会导致未定义的行为。

permissions git

5
推荐指数
1
解决办法
153
查看次数

如何在前面没有 'git' 的情况下调用 git 命令?

git如果找不到命令,如何告诉我的 zsh 自动尝试前面的命令?例如,我想运行$ status,如果没有statusin $PATH,我的 zsh 应该尝试git status

zsh git command

5
推荐指数
1
解决办法
255
查看次数

当当前目录有 .git 文件夹时,我可以在提示中显示 GIT 吗?

我可以在提示显示GIT时,当前目录有/包含一个.git文件夹?有没有办法做到这一点?我当前的提示定义如下:

export PS1="[\u@\h] \w $ "
Run Code Online (Sandbox Code Playgroud)

所以,我的提示是这样的:

[user@computer] ~/workspace  $
Run Code Online (Sandbox Code Playgroud)

我希望它动态地看起来像这样:

[user@computer] ~/workspace GIT $
Run Code Online (Sandbox Code Playgroud)

bash prompt git

5
推荐指数
1
解决办法
3639
查看次数

有条件的 PS1

我基本上是想让我的 PS1 在 git repo 中看起来像这样:

$ ~/Projects/Blah (master):
Run Code Online (Sandbox Code Playgroud)

或者,如果我不在 Git 存储库中,我希望它看起来像这样:

$ ~/Projects/Blah:
Run Code Online (Sandbox Code Playgroud)

这是我目前的 PS1:

export PS1="$ \w \$(__git_ps1): "
Run Code Online (Sandbox Code Playgroud)

它适用于 git repo 输出,但问题是如果我不在 git repo 中,输出如下所示:

$ ~/Projects/Blah :
Run Code Online (Sandbox Code Playgroud)

如果它不是 git repo,我真的不想要那个空间,有什么方法可以在我的 PS1 中指定它吗?

bash prompt git

5
推荐指数
1
解决办法
3461
查看次数

“git show”在 XTerm 上显示奇怪的字符

在 FreeBSD 10.3 上,我运行类似git showon的命令xterm,输出包含一些奇怪的不相关字符,如下所示。我不知道为什么。

在此处输入图片说明

freebsd xterm git

5
推荐指数
1
解决办法
682
查看次数

标签 统计

git ×10

bash ×4

osx ×2

prompt ×2

ssh ×2

account-restrictions ×1

command ×1

freebsd ×1

path ×1

permissions ×1

rhel ×1

ssh-agent ×1

xterm ×1

yum ×1

zsh ×1