我是个傻逼程序员,会敲几行代码,但是实操安装和部署什么的很垃圾,而且有惰性。一大把年纪了,还没装过windows系统。就在今天,我突然想用一下git。咬着牙就开始学了一下。反正进步了一点,以后要都学新东西。
我使用的是ubuntu,使用sudo apt-get install git装了一个git, 使用git --version来验证是否装成功。这里有个所谓的仓库(repository)概念,起始就是一个 .git 的文件夹里放了些东西(指定包含log记录,管理等)。这个 .git文件使用git init 来生成;也可以直接在git clone 网址 ,下载后的文件里面就有 .git文件夹。使用svn也是一样,仓库(repository)里是有个 .svn的文件夹的。
然后想把本地仓库和github的远程绑定起来,网上一大堆。我就按葫芦画瓢的一步一步做。
1)创建一个对称加密的公钥私钥对,用于本地使用 SSH 和github建立连接
ssh-keygen -t rsa -C "你的github填写的邮箱"
注: rsa是一种非对称加密方法; 命令后,一路 回车就好了,生成的文件在 ~/.ssh/id_ ras.pub 例如我的是 (/home/yp/.ssh/id_rsa.pub)。
2)在自己的github账户里面,右上角 settings(设置)-->SSH and GPG keys -->(右上角)New SSH key--->title(随便填一个名字)-->把 ~/.ssh/id_ ras.pub里的内容拷贝到key里面。这样就实现了本地的公钥 给github。
ssh和https很类似。https是服务器使用CA证书将自己的公钥给client,client使用服务器的公钥加密client的公钥+对称加密的私钥给服务器,而github很直接,不使用CA证书,直接手动添加Client的公钥。
3)验证一下本地ubuntu能不能使用ssh连接上github,ssh -T [email protected]
Hi mumianbaba! You've successfully authenticated, but GitHub does not provide shell access.
这种打印出来了就说明,你验证成功了。ssh读取 ~/.ssh里的内容与github连接上了,只是github不提供shell操作而已。这里我们想到了谁提供shell操作啊,我们的ubuntu经常使用xshell进行ssh协议进行连接,进行交互。
4)路通了就做git的工作
git config --global user.name "github登录的用户名"
git config --global user.email "github登录用的邮箱"
git clone 你仓库的网址(你点击clone or download的那个网址,选择ssh网址,而非https网址)
git remote add origin 你仓库的网址
然后你验证一下你添加远程仓库是否成功,git remote -v 如果没有显示下面的说明不成功(一定不要再linux和Windows的共享文件目录下干这些,会不成功的)
origin [email protected]:mumianbaba/001_rtmps.git (fetch)
origin [email protected]:mumianbaba/001_rtmps.git (push)
git push -u origin master 指定origin为默认主机,以后push默认上传到origin上
然后,你就修改一个文件Makefile
git add -A //将修改搞到缓存区
git commit -m "modify the make file" -a //提交一下子
git log //查看一下操作记录
git push
yp@ubuntu:001_rtmps$ git push
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 333 bytes | 0 bytes/s, done.
Total 3 (delta 1), reused 0 (delta 0)
remote: Resolving deltas: 100% (1/1), completed with 1 local object.
To [email protected]:mumianbaba/001_rtmps.git
b2050c1..b7cb5b1 master -> master
说明你就成功了。成功就这么简单。妈妈再也不用担心我跟不上潮流了。哈哈哈。
注意一下,在ubuntu的与windows的共享目录下是不成功的。
接下来就是自己去玩去了,https://www.cnblogs.com/schaepher/p/5561193.html很不错的贴子,我就是按照他的一步两步,似魔鬼的步伐,似爪牙,摩擦摩擦就成功了。
ssh工作原理http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html