------------------------------------------关键词---------------------------------------
RD_H_02/HKBDM
ssh HKBDM@192.168.0.34
scp id_rsa.pub HKBDM@192.168.0.34:/home/HKBDM
cat id_rsa.pub >> .ssh/authorized_keys
git clone HKBDM@192.168.0.34:kernel_sabresd_43.git
git clone HKBDM@192.168.0.34:uboot_sabresd43.git
cp ../kernel_imx.bak/* ./ -r
git fetch origin && git merge origin/master
----------------------------------------------
这么在xp上安装私有秘钥.
输入cd
然后cd .ssh
把私有秘钥放到.ssh目录即可
验证方法:
ssh
git@linode.boundarydevices.com
ssh -T git@github.com
//怎么获取某一个命令的帮助
git branch --help
//问题 怎么给默认分支重命名
$ git branch -m master monday
//问题怎么查询有哪些分支,当前分支在是哪一个?
git branch ,打星号的是当前分支.
//问题,怎么建立分支
git branch xxx
//问题,怎么把当前分支和基于当前分支建立的分支合并.
git merge oxxx
//问题:git merge origin/master 这个命令做了什么,如果我修改了基于master建立的分支'P'的文件内容.合并'P'到master会冲突吗?
答 合并当前分支 和origin/master 分支. ,因为是基于master分支建立的分支,所以2者合并的时候,会把超前master的更新合并到master上.
//问题,怎么切换分支
答 git checkout xx ,
//,怎么删除分支,删除分支会影响目前已经存在的的分支吗?
答git branch -d patch, 不会 影响
//git fetch death 命令到底做了什么
答 会从远程death处 获得上面的所有的分支.到本地 ,假如death有个分支叫monday ,那么fetch后本地就有了death/monday分支.
如果本地没有,那么git branch -b death/monday 添加这个分支.然后
//git checkout -b xx 和git checkout xx 是一样的吗
答 不一样,前者新建并切换到该分支, 后者是用于分支切换过去.
------------------------------------xp 下git 和 安装---------------------------------------------------------------
参考:http://www.open-open.com/lib/view/1328355596640
一、安装GIT
Windows下使用msysgit,下载地址:http://code.google.com/p/msysgit/
本文使用Git-1.7.8-preview20111206.exe 安装要点步骤如下:
------------------------------------密钥和公钥-----------------------------------------------
参考:http://blog.youkuaiyun.com/benkaoya/article/details/8127126
在客户端用以下指令生成密钥对文件(补充:后来发现最好是用ssh-keygen -t rsa,有次我在CentOS系统上运行ssh-keygen产生的密钥对就不是rsa的):
之后将生成的id_rsa.pub文件内容附加到服务器对应帐号下的authorized_keys文件末尾即可,如果没有该文件则新建一个,如:/root/.ssh/authorized_keys。有以下两种操作方法:
◆远程操作
$ ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.1.101 |
在CopSSH的Shell中没法用ssh-copy-i命令,如果客户端是安装在linux就可以用该命令了。
◆文件拷贝到服务器上操作
先在客户端用scp命令将文件拷贝到远程服务器:
cd ~/.ssh
scp id_rsa.pub HKBDM@192.168.0.34:/home/HKBDM
然后登陆到服务器,在服务器上操作,将文件id_rsa.pub追加到authorized_keys文件中。操作如下:
cat id_rsa.pub >> .ssh/authorized_keys
4.2.4. 公钥认证无需输入口令
按以上任一方法配置,以后登陆就无需输入密码,如下图所示:
4.2.5: 使xp上的git客户端登录服务器不需要密码:
复制ubuntu上的 私钥到git的目录C:\Documents and Settings\HKBDM\.ssh
HKBDM@RD_H_02 ~
$ ls .ssh
authorized_keys id_rsa known_hosts
这样就可以了.直接登录服务器,不需要密码:ssh HKBDM@192.168.0.34
HKBDM@RD_H_02 ~
4.3. 设置主机别名
实际应用中,可能同时需要多套公钥/私钥对。在使用ssh-keygen命令时需要通过-f参数指定不同的私钥名称。用法如下:
$ ssh-keygen -f ~/.ssh/<filename> |
指定有意义的<filename>名称,命令执行后,会在~/.ssh目录下创建指定的公钥/私钥对:文件<filename>是私钥,文件<filename.pub>是公钥。
将新生的公钥追加到服务器主机登陆用户主名录下的.ssh/authorized_keys文件中,就可以使用新创建的公钥建立到远程主机<server>的<user>账户的无口令登陆。
现在客服端存在多个公钥/私钥对,那么当执行下面的ssh登陆指令时,用到的是哪个公钥呢?
$ ssh <user>@<server> |
当然是默认公钥~/.ssh/id_rsa.pub。那么如何用新建的公钥连接server呢?
SSH的客户端配置文件~/.ssh/config可以通过创建主机别名,在连接主机时选择使用特定的公钥。例如~/.ssh/config文件中的下列配置:
这里的192.168.1.101代表 上面的ssh命令的<server>
root 代表上面的ssh命令的 <user>
host hr user root hostname 192.168.1.101 port 22 identityfile ~/.ssh/id_rsa
host hj user root hostname 192.168.1.101 port 22 identityfile ~/.ssh/jiajia |
可以使用下面的SSH登陆命令,
$ ssh hr // 相当于用私钥id_rsa文件登陆root@192.168.1.101服务器 $ ssh hj // 相当于用私钥jiajia文件登陆root@192.168.1.101服务器 |