git及github的用法小结
一、知识点
git status命令用于显示工作目录和暂存区的状态。这个命令能看到哪些文件处于暂存状态,哪些文件没有被git tracked到。git status不显示已经commit到项目历史中的信息。看项目历史用git log。
二、本地库的搭建
- 首先,先下载git,软件库中一般都有,Linux下直接在终端下载(windows下好像有一个git bash)。
sudo apt-get install git
- 创建一个文件夹(本地的版本库),并作为工作目录cd命令进入。
如图,现在我在目录中,查看当前工作目录的状态。这不是git可管理的仓库。
- 将文件夹编程git可管理的仓库
git init
这时当前目录中会增加一个.git文件夹,它是git用来跟踪和管理版本库的。
此时该文件夹的状态发生了变化
注意此时的分支是master,这是默认的,他最终会上传到github仓库对应的分支中。
可以改变分支,改变分支的命令是:
git branch -m <name>
如图,此时显示no git tracked的文件有两个
- 将文件夹中的项目添加到仓库中,也就是跟踪文件(git tracked)
git add .
add当前目录,就是将当前目录所有的项目都放到仓库里
此时git status仓库的状态又发生了变化。
add后的文件可以被git跟踪了,他们在暂存区中,还没有上传到本地仓库中
把项目提交到本地仓库
git commit -m 'xxx'
-m 后是本次提交的注释内容,可以自拟。
这样文件夹中的所有内容就提交到本地仓库中了,接下来就是跟远程仓库的链接。
三、 SSH密匙
**定义:**Secure Shell,SSH为建立在应用层基础上的安全协议。SSH是专为远程登陆会话和其他网络服务提供安全性的协议。利用SSH协议可以有效的防止远程管理过程中的信息泄露问题。这里我们用到SSH密匙的安全认证。所谓密匙就是你必须为自己创建一对密匙,并把公共密匙放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端就会向服务器发出请求,请求用你的密匙进行安全认证。服务器接受到请求后,先在该服务器上你的主目录下寻找你的公共密匙,然后把它和你发过来的公共密匙进行比较。如果两个密匙一样,服务器就用共用密匙加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”后就可以用你的私人密匙解密再把它发送给服务器。
- 首先下载ssh,和git一样,软件库里有,直接在源中下载
sudo apt-get install ssh
- 创建SSH KEY
ssh-keygen -t rsa -C "your emall@xxx"
创建过程中会有三次输入的阻塞,直接回车就行
这时候你的用户目录中就会出现一个.ssh文件夹
文件夹中有两个文件,分别是ID_rsa(文件私有密匙)和ID_rsa.pub(公开密匙)。
- 公开密匙的内容就是你要上传到github账号中的SSH密匙,是git远端和本机客户端交互的密码。登陆github后在设置中找到SSH选项进行添加。
标题随便起,钥匙就将前面ID_ras.pub中的内容复制粘贴。这样github和客户端git的保密协议就做好了,客户端可以访问该github账户。
四、 连接远程仓库
-
在github中创建一个新的库
-
打开终端,cd进入本地仓库(就是之前git初始化过的文件夹),加入远程仓库
git remote add origin https://github.com/<name>/<libname>
- origin后面加的是你github上创建好的仓库的地址
- 最后就可以实现本地库中的内容推送到远程仓库(github)上
第一次推送使用:
git push -u origin master
等远程仓库里面有内容之后,下次再从本地库推送内容只需要这样做:
git push origin master
**注:**当你在github上建库的时候,如果你选择了initialize this repository wirh a README选项,它会报错,因为你新创建的那个仓库里面的README文件不在本地仓库目录
这时我们需要做一个内容合并的操作:
git pull --rebase origin master
最后再push,大功告成
最后我们看一下文件的状态