标签: git

如何修改最后一次提交以取消添加文件?

我已经修改了两个文件ab在最后提交。但是b不应该提交文件,修改这个的工作流程是什么?

git

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

通过中间机器转发 SSH 流量

SSH 隧道让我很困惑。我想知道我是否可以在 Linux 中做到这一点。

我有3台机器..

A. My local machine at home.
B. Machine at work that I can SSH into (middle man).
C. My desktop at work that I can only SSH into from machine B.
Run Code Online (Sandbox Code Playgroud)

所以我可以从 A -> B 和 B -> C 进行 SSH,但不能从 A -> C 进行 SSH。

有没有办法设置从 A 到 B 的 SSH 隧道,所以当我运行其他 SSH 命令时,它们只能在我的本地机器 A 上工作?我基本上是在尝试将 git repo 从工作克隆到家(并且我无法在机器 B 上安装 git)。

此外,一旦设置.. 我将如何取消设置?

ssh bash git command-line tunnel

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

更改 git init 默认分支名称

我试图弄清楚如何git init使用不同的默认分支名称而不是master第一次提交,但我找不到它的 git 配置或任何允许我这样做的东西(例如别名仅适用于命令,而不是分支名称)。

有没有办法更改设置的默认第一个分支名称git init

git

103
推荐指数
4
解决办法
3万
查看次数

使用多个 SSH 公钥

我在 Unfuddle 上有一个个人帐户和一个公司帐户。在 Unfuddle 上,SSH 密钥只能用于一个帐户,因此我需要在我的笔记本电脑上为两个帐户创建一个单独的 SSH 密钥。我跑去ssh-keygen -t rsa生成两个不同名称的密钥(个人是默认名称,公司是 {company}_rsa)。现在的问题是,我的默认密钥似乎无处不在,我无法找到如何在 Git 中为单个存储库指定要使用的密钥。

所以我的问题是:如何指定要在 repo-to-repo 基础上使用的 SSH 密钥?

我设置了我的 ssh_config (~/.ssh/config) 但它似乎仍然不起作用。

配置:

Host {personalaccount}.unfuddle.com
     HostName {personalaccount}.unfuddle.com
     User git
     IdentityFile /Users/dave/.ssh/id_rsa

Host {companyaccount}.unfuddle.com
     HostName {companyaccount}.unfuddle.com
     User git
     IdentityFile /Users/dave/.ssh/cage_rsa
Run Code Online (Sandbox Code Playgroud)

我的公司 unfuddle 帐户上的仓库的 Git 仓库配置文件如下所示:

[remote "origin"]
     url = git@{companyaccount}.unfuddle.com:{companyaccount}/overall.git
     fetch = +refs/heads/*:refs/remotes/origin/*
Run Code Online (Sandbox Code Playgroud)

所以我不确定我的 ssh 配置或我的 git 配置是否有问题。

git ssh-keys

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

我应该如何在 Mac 上设置 PATH 变量以便找到 Hombrew 安装的工具?

尝试在新 Mac 上设置Homebrew(在以前的 Mac 上,我会从源代码安装软件包)。

我尝试安装的第一个软件包是 Git:

$ brew install git
Run Code Online (Sandbox Code Playgroud)

安装顺利,但which git仍然显示/usr/bin/gitLion一起出现的那个(我认为?)。而不是/usr/local/bin/git刚刚安装的那个。

$ echo $PATH
/Users/meltemi/.rvm/gems/ruby-1.9.2-p290@rails31/bin:/Users/meltemi/.rvm/gems/ruby-1.9.2-p290@global/bin:/Users/meltemi/.rvm/rubies/ruby-1.9.2-p290/bin:/Users/michael/.rvm/bin:/usr/local/mysql/bin:/opt/subversion/bin:/Developer/Additions/checker/:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
Run Code Online (Sandbox Code Playgroud)

正如你可以看到/usr/bin默认为之前/usr/local/bin$PATH

所以,我很困惑!我认为HomeBrew 的重点(以及创作者似乎吹嘘的东西)是您不必弄乱$PATH变量!?!

那么,我做错了什么?

git homebrew macos

96
推荐指数
4
解决办法
20万
查看次数

如何让 git-completion.bash 在 Mac OS X 上工作?

我已经按照http://blog.bitfluent.com/post/27983389/git-utilities-you-cant-live-without添加git-completion.bash到我的/opt/local/etc/bash_completion.d/git-completion

然后我输入PS1='\h:\W$(__git_ps1 "(%s)") \u\$ '了我的 .bashrc_profile

但现在我得到了-bash: __git_ps1: command not found我所做的一切cd

你能告诉我我错过了什么吗?

mac bash git macos

93
推荐指数
6
解决办法
6万
查看次数

git "ping": 检查远程仓库是否存在

我想知道是否存在远程存储库。这是我想出的:

git ls-remote -h "$REPO_URL" &> /dev/null
Run Code Online (Sandbox Code Playgroud)

有没有更好的办法?

git

92
推荐指数
3
解决办法
10万
查看次数

终端命令查找我安装了哪个版本的 Git?

查找系统上当前安装的 Git 版本的终端命令是什么?

terminal git

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

如何更改 ssh-keygen 输出的目录?

我想运行如下命令:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
Run Code Online (Sandbox Code Playgroud)

我的理解是 ssh-keygen 输出到主目录。我正在使用 Git Bash(Windows,MYSS MINGW64)的联网计算机上工作,其中主目录是我无权访问的目录。我像这样更改主目录:

export HOME=C:/Users/myusername
Run Code Online (Sandbox Code Playgroud)

所以现在当我输入:

echo $HOME
Run Code Online (Sandbox Code Playgroud)

它说:

C:/Users/myusername
Run Code Online (Sandbox Code Playgroud)

但是当我再次尝试运行 ssh-keygen 命令时,它会在我无权访问的目录中运行。我已经查看了一些硬编码路径的配置文件,但找不到任何东西。如何将其更改为指向我有权访问的目录?

ssh git

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

当我在远程主机上进行 ssh 操作时,如何避免被问到“输入密钥的密码”?

我通过 ssh 连接到远程主机(linux、fedora),我想在那里进行 ssh 操作(git 和 bitbucket)。那台机器上正在运行 ssh-agent,

$ ps -e|grep sh-agent
 2203 ?        00:00:00 ssh-agent
Run Code Online (Sandbox Code Playgroud)

但是当我想 git 时,它需要我输入密码

$ git pull
Enter passphrase for key '/user/wgong/home/.ssh/id_rsa': 
Run Code Online (Sandbox Code Playgroud)

注意:如果我在本地操作那台机器,它不会要求我输入密码

ssh git

87
推荐指数
6
解决办法
22万
查看次数

标签 统计

git ×10

ssh ×3

bash ×2

macos ×2

command-line ×1

homebrew ×1

mac ×1

ssh-keys ×1

terminal ×1

tunnel ×1