现在的位置: 首页 > 综合 > 正文

git+openssh 的安装与简单使用

2013年04月26日 ⁄ 综合 ⁄ 共 1844字 ⁄ 字号 评论关闭

# 安装git

sudo apt-get install git

# 安装openssh服务器

# 如不成功,可参考:

http://blog.csdn.net/feliciafay/article/details/6561414

sudo apt-get install openssh-server

sudo do-release-upgrade

# 下面命令可测试是否安装成功:

ssh localhost  # 远程登入

exit  # 登出

cd ~/.ssh

ls  # 没有找到ssh的公钥、密钥文件: id_rsa  id_rsa.pub

# 用下面命令生成 公钥、密钥文件

ssh-keygen  #  一般连续回车就行了,也可能要输入y,详情见:

http://doc.linuxpk.com/4240.html

# 将公钥内容拷入临时文件key.txt,待会儿要用

# cat id_rsa.pub > ~/key.txt

# 进入:
https://github.com/
注册免费帐户:

# Signup and Pricing -> create a free account

# 创建新仓库,命名为: HelloWorld,现在里面没文件

# Create a New Repo: Repository name: HelloWorld

# 将key.txt内容拷入: Key

# Account Settings -> SSH Keys -> Add SSH Key -> Add Key

# 经过实践得知:一个用户(主机),只能同时用一个账户

# 因为相同的公钥不能填入到不同的账户的SSH Keys中

# 于是,我们只能反复生成公钥、密钥来切换帐户

# 进入HelloWorld仓库

# Code -> Quick setup -> SSH

# 复制远程仓库地址: git@github.com:yanrk/HelloWorld.git

cd ~

mkdir Git

cd Git

# 将远程仓库拷入本机当前目录

git clone git@github.com:yanrk/HelloWorld.git

# 如果上面git命令出现如下错误:

#       Agent admitted failure to sign using the key.

#       Permission denied (publickey).

#       fatal: The remote end hung up unexpectedly

# 可以用下面命令解决:

#       ssh-add ~/.ssh/id_rsa

# 下面继续

ls  # 可以发现在Git中多了一个新文件夹: HelloWorld

# 进入HelloWorld中

cd HelloWorld

# 新建一个HelloWorld.cpp文件

cat > HelloWorld.cpp
#include <iostream>

int main(int argc, char * argv[])
{
    std::cout << "Hello World" << std::endl;
    return(0);
}
^Z  # (CTRL+Z)

# 编译这个文件,生成HelloWorld.out可执行文件

g++ -o HelloWorld.out HelloWorld.cpp

# 将当前目录中所有修改过的文件从工作目录提交到缓存区

git add *

# 将文件从缓存区提交到HEAD

git commit -m "commit HelloWorld.cpp and HelloWorld.out"

# 将文件从HEAD提交到远程仓库

git push origin master

# 这时,我们可以再刷新,看看我们在github上的HelloWorld仓库

# 可以发现,刚才的文件已经提交到HelloWorld仓库了

# git 简易教程,详见:

http://rogerdudler.github.com/git-guide/index.zh.html

# 我们再来取一下HelloWorld仓库的文件

# 看看我们的文件是否真的更新成功了 (其实没必要,当前仅为熟悉命令)

# 这次我们还是放入一个新文件夹

mkdir down_git

cd down_git

git clone git@github.com:yanrk/HelloWorld.git

ls

cd HelloWorld

cat HelloWorld.cpp

./HelloWorld.out

# 测试完毕,一切正常

# 删除多余的备份 down_git

pwd

cd ../..

rm -r down_git  # rm -r path 可以删除非空的文件夹

# 差点忘了,还有一个不错的github学习网页:

http://www.worldhello.net/gotgithub/index.html

抱歉!评论已关闭.