前言
初次认识github,现在只是浅层次地了解到github是一个可以把自己的代码放到上面,既可以管理自己的代码,也可以共享给别人。起初主要是linux内核源码的协作开发,可以进行项目的协作。
一.安装github
可以在官网中下载git for windows,因为github不是国内的网站,所以下载的速度会慢一点,可以通过以下提供的百度网盘地址下载:https://pan.baidu.com/s/1dJYU7x-Z_BnFBRVFoRed7g 提取码:hoh3
二.启动Git Bash添加用户名和邮箱
- 点击windows图标找到Git Bash启动
- 依次输入以下命令来添加你的用户名和邮箱
git config --global add usr.name “Your name”
git config --global add usr.email “123456@qq.com” (这里以QQ邮箱为例)
三.新建本地仓库
- 在你喜欢的路径之下新建一个文件夹如Mygit,进入到该文件夹后,鼠标右击,点击Git Bash Here
2.输入以下命令来初始化一个本地仓库,执行之后会在Mygit文件夹内生成一个隐藏的.git文件夹,
git init
出现以上类似信息,本地仓库就初步创建好了
四.连接github远程仓库
- SSH KEYS配置
(1) 输入 ~/.sh 或者 ~/.sh ls 来查看是否有SSH KEYS
如果有则会显示:is a directory
如果没有则会显示:“No such or file or directory”
(2)如果有则跳过此步,输入以下指令来创建SSH KEY
ssh-keygen -t rsa -C “你的邮箱”
然后就会显示:
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/16627/.ssh/id_rsa):
注:这里是让你选择一个文件夹来保存你的密钥信息,这里可以直接按回车,按回车之后就会自动创建.ssh文件夹包含id_rsa和id_rsa.pub两个文件。创建的.ssh文件夹默认保存在客户机的用户文件夹内C:\Users\Anmo
(Anmo是我的用户名)
接下来会让你设置自己的密码,以及确认密码,这里一路回车,最后就会有一个提示信息
Your identification has been saved in /c/Users/…/.ssh/id_rsa
Your public key has been saved in /c/Users/…/.ssh/id_rsa.pub
还会有一个长得非常奇怪的你的密钥图案。。。
(3)再使用~/.ssh看一下,如果出现**(保存路径).ssh is a directory**就表明SSH KEY已经成功创建了。(保存路径就是存放.ssh文件夹的位置)
(4)接下来就是打开你的github个人网页,点击自己的头像打开下拉菜单点击settings,
点击New ssh key来创建一个密钥用来连接PC机的本地仓库Mygit
自拟输入title,Key需要打开之前提到的保存在PC机用户文件夹C:\Users\Anmo下的.ssh文件夹,可用记事本打开密钥文件,复制密钥信息
(Anmo是我的PC机的用户名),
将复制的密钥信息,粘贴在key的内容框框,再点击Add SSH key就可以啦
然后你就会收到建立成功的邮件了
后面再输入
ssh -T git@github.com
- 新建远程仓库(没有新建项目要先建立一个新的项目哦)
点击Your repositories
输入项目名称(这里我输入的是personal_src)后,可以直接点击绿色按钮Create repository来创建远程仓库
- 连接
创建之后就会出现ssh链接,复制这个链接,这个链接是我们连接客户机仓库和github远程仓库的纽带。
在电脑的本地仓库文件夹内右击打开git bash here,输入如下指令即可连接到远程仓库,箭头处改为你的ssh链接即可
git remote add + 名字 + ssh地址
名字是自定义的仓库名,该名称是对远程仓库的自定义标识,相当于给远程仓库起的一个外号(如下图test),方便自己识别就好,便以下次传文件到指定的远程仓库时,通过对应的外号即可。执行后没有提示后就说明连接成功了
- 输入以下,来查询连接情况,一个fetch(从远程仓库获取代码),一个push(从本地仓库向远程仓库上传代码)
git remote -v
当我们不用这个仓库时,执行以下可以移除
git remote remove test
五.从本地仓库向远程仓库上传文件
- 将某个文件(注意要确保这个文件必须在你的本地仓库的文件夹内)加到缓存区,添加方式有多种,git add不改变,其后可以根据文件的后缀等方式来筛选要上传的文件。
git add +文件名.文件类型 ,将某个文件加到缓存区
git add +文件名.文件类型 ... 文件名.文件类型 ,将n个文件添加到缓存区
git add xx文件夹/*.c,将xx文件夹下的所有的c文件添加到缓存区。
git add *a ,将以a结尾的文件的所有修改添加到缓存区
git add a* ,将所有以a开头的文件的修改添加到缓存区
git add -u ,提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)
git add .,提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件
git add -A,提交所有变化。git add前几条都可以记不住,这个必须记住!!!
> $ git add +文件名.文件类型
- 对该文件的上传添加备注
> $ git commit -m "备注"
3.完成上述两步之后我们就已经把自己要上传的文件打包好了,现在开始上传
如果是第一次向空的仓库上床文件需要加上-u,执行之后查看远程仓库内是不是已经有了你要上传的文件呢。
> $ git push -u 仓库名称 分支
向非空仓库上传文件可去除-u
> $ git push 名称 分支
ps:
- 名称:即自定义的远程仓库的外号,便于自己识别
- 分支:一个仓库有多个分支,仓库名即为主分支。分支相当于一个文件夹内包含的多个小文件夹。该分支名称要与远程仓库存在的分支名称一致,默认为master主分支,可在github远程仓库来添加分支。在上传文件时,你的文件会上传到这个分支(小文件夹)
例如一个团队在同一个远程仓库完成同一个项目,这个项目分割为几个部分分别由对应的成员负责,一个成员完成自己的任务之后,需要把文件上传到自己负责的文件夹里。 - 如何在远程仓库添加分支,在下图位置输入dev,跳出Create点击即可创建
六.从远程仓库获取文件
- 在远程仓库内查看ssh连接,注意文件不是一个一个拿的,而是整个项目的文件。所以只要找到仓库连接即可
输入以下,就可以开始获取文件了
git clone 链接