Linux 与 Git(github篇)
Linux 与 Git(Github篇)
本人使用的是 Ubuntu 系统,在其他 Linux 系统下安装与使用 Git 方法基本一致
安装配置 SSH
安装 SSH
安装命令:
sudo apt-get install openssh-server openssh-client
启动 ssh 服务:
sudo /etc/init.d/ssh restart
安装并成功重启 ssh 服务如下:
配置 SSH
配置 SSH 公钥
生成本地 ssh 公钥:
sudo ssh-keygen -C '邮箱地址' -t rsa
# 这条命令会在 ~/.ssh/ 下生成密钥文件
注意要记住输入的密码
测试畅通性:
ssh -v git@github.com
测试畅通:
安装 Git
sudo apt-get install git # 安装 Git
sudo apt-get install git-core # 安装 Git 服务器
配置 Github
配置 Github 个人信息总共只有两条命令,一条用于绑定用户名,另一条用于绑定邮箱地址
git config --global user.name "user_name"
git config --global user.email "email_id"
# user_name 与 email_id 用自己的用户名和邮箱地址替换即可
# 注意,这里的 email_id 要用注册 Github 时绑定的邮箱地址
创建本地仓库
在你的系统上创建一个目录。它将会被作为本地仓库使用,稍后它会被推送到 GitHub 的远程仓库。请使用如下命令:
git init FPGA--Develop-Diary
如果目录被成功创建,你会看到如下信息:
Initialized empty Git repository in /home/ppqppl/文档/Mytest/.git/
这行信息可能随你的系统不同而变化。
如图:
这里,FPGA--Develop-Dialog 是创建的目录,而 init 将其转化为一个 GitHub 仓库。
进一步要转到我们创建的文件夹下
文件创建
一般,对于代码仓库常创建一个 README 文件,包含代码的存储目录,使用方式等(也可以没有)
创建命令:
sudo gedit README
当我们的仓库下有了一定的文件之后,使用 Git 的 add 命令将文件加入索引
sudo git add README
……
#或者直接一次性添加所有文件
sudo git ./
git 的 add 命令可以将人一的文件和目录(文件夹)加入到索引,这里所说的“索引”,实际上是指一个有一定空间的缓存区,这个缓存区存储了所有已经被加入到 Git 仓库的文件或目录。
将所作改动加入索引
所有文件添加与修改好之后,就可以进行提交。意味着已经最终确定了所有文件,不再改动,已经准备好上传到自己的仓库,使用如下命令:
git commit -m "message"
# message 可以是一些信息,类似:第一次提交,修改 xxx 文件等,用于表示版本更新的内容
创建 Github 仓库并上传文件
创建 Github 仓库
创建好就可以将地仓库推送到 Github 自己的仓库名下
配置 SSH 密钥
在安装并配置好本地 ssh ,并绑定邮箱的情况下,上传公钥到 github:进入 setting 界面,点击账户中的 profile,选择 ssh and GPG keys,点击 New SSH key,把 ~/.ssh/id_rsa.pub 中的全部内容复制到 Key 编辑框中,点击上传。
输入以下代码以测试链接畅通:
ssh -T git@github.com
如果出现如下报错,输入 yes 即可解决:
报错原因:新生成密钥的时候,git clone或者push的时候,经常会报这样的错误,少了一个known_hosts文件,本来密钥文件应该是三个,现在是两个,就会报这样的错误,此时选择yes回车之后,即可,同时生成缺少的known_hosts文件,解决后如图:
测试成功链接返回如图:
如果测试时出现报错,通过如下办法可以解决:
链接仓库
当我们的仓库创建完成,并配置好之后,就可以开始链接了
在这个界面我们选择 SSH 并复制仓库地址,通过以下命令进行链接:
git remote add origin git@github.com:ppqppl/FPGA--Develop-Diary.git
上传文件
下面,我们就可以将本地仓库中的文件上传到 github 上:
git push origin master
上传成功截图:
当提示键入用户名和密码时,直接输入即可
如果文件需要更新,则需要重新 commit ,然后重新上传
注意: 链接 github 需要网络代理,或者可以使用一些 github 或 gitee 上的开源工具,来代理网络,使可以连接至 github ,大家可以自己寻找资源,想要资源的也可以私聊我