gitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名gitHub。
一般github用于个人项目,前期都是public的,前不久新增了private,大家可以放是有项目啦;而同类型的gitlab多用于企业内部。
好啦,闲话不多说,下面从一组实例操作来简单说下如何应用到自己的项目中。
前置条件:
1.安装了git,下载地址:https://git-scm.com/downloads
2.在github注册了自己的账号,github地址: https://github.com/
配置sshkey:
1.生成key:
ssh-keygen -t rsa -C "你注册的github账号" 一路enter下去,生成2个文件,如下:
/c/Users/abc/.ssh/id_rsa
/c/Users/abc/.ssh/id_rsa.pub
将生产的秘钥配置到你的github设置中:
使用cat 命令 打开 id_rsa.pub :cat id_rsa.pub 获得一下内容:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDYQ65DNNnWkUIDwZqBA3g3HigUSC/vkdjdk3VHA8QEwXxwoSQ9b8dfxk/Y2105G2U7mVz6zq5UAM2jGj8rdQN35JFx8AiLveHXr9EfwPWVHYXs4rdUyU3u8jiFpPTDyWuVdk5Qy0YCku/BlIzzbEKJ7so+JRN+QtcSb9CCYY8ILzEsn7aJXf/r/PpW1T8nz9nzBAadhOOS2luPHt8MFU1IzqPs3FgNyUthjFp2eyHnRBWyKFWEBcXlBewnsvjgVr+HZ1goNITquda1z1l0/tD5AznJBYciRF6qsqyUan+SI6za4TfeYtMGKAXJ5eK/bEJnCiNHKcxSVdt6hI6hij8H [email protected]
将该内存全部copy下来,在github上,点击头像,选择setting,选择SSH adn GPG keys,设置Title,粘贴刚复制的key保存即可
点击Add SSH key保存:
此时配置的电脑,就可以直接与该github账号交互啦,上传和克隆文件等等。。
2.创建一个public的仓库:
选择右上角的New responsitory,进入新增仓库页面
这里你可以选择仓库权限,目前已支持私有仓库新建啦,可以放自己独家秘笈。
点击Create responsitory,提示仓库创建成功,此时会提示一大堆命令行,对于初次了解github的同学来说,这些命令基本够用啦:
3.回到workspace文件夹下,将仓库克隆到本地,使用命令:
git clone [email protected]:xx/Autoxxt.git
4.进入刚clone的文件夹下,查看文件状态,使用命令
git status
新增一个文件,text.txt,再次执行 git status,提示文件尚未提交
5.执行命令 git add text.txt,添加文件 并执行提交命令 git commit -m "增加测试文件"
7.可以在github仓库看到刚push的文件
8.更新他人提交的文件,使用命令
git pull
二、查看并新增分支branch1
1.查看本地分支,git branch,当前只有一个分支
2.查看所有远端分支 git branch -a
3.创建新的分支 git checkout -b branch1 ,此时工作分支变为branch1
此时新增的分支还不在远端分支上,
此时修改test.txt文件,并push到新建的branch1分支上
发现多个分支时,执行 git push会报错
执行命令 git push --set-upstream origin branch1
再次查看远端分支时,发现新增了一个,此时已经提交到github了
三、删除分支
master一般为生产分支,而修改bug的分支在bug修复完后,已经没有用了,所以需要删除
执行命令:
git branch -d branch1 ,此时会报错,因为当前的工作分支是branch1,需要将工作分支切回到master
执行切换工作分支命令:
git checkout master
此时查看本地分支branch1已经不存在了,再查看远端分支,发现branch1还是存在的
此时执行删除远程分支命令,发现本地和远端中都不存在了,但是在github上还是有这个分支,此时需要将本地的操作 push到远端
git branch -r -d origin/branch1
将本地的删除操作push到远端,执行命令:
git push origin:branch1 此时会报错,原因是命令格式不正确
正确的格式如下,origin后面需要跟一个空格,不能紧跟冒号: 如
git push origin :branch1
验证删除,此时在github官网上查看分支,branch1分支已经被删成功了
四、git的合并分支操作
1.当前存在多个分支,主分支master和其他分支mergedemo,在主分支下将mergedemo分支合并进来
先切换到master分支,执行命令:git checkout master
执行合并分支命令:git merge mergedemo
2.合并分支冲突问题解决
2个分支下的test.txt文件内容不一致,此时在master下手动合并,合并后的文件内容如下;
此时需要手动合并,修改该文件,并提交push
同样需要按顺序执行add,commit,push
注意的是此时不能commit单个文件需要全部commit,命令如下
git add test.txt (ps:当里面有多个文件被修改时,提交可以执行命令 git add . 即可提交所有文件)
git commit -m "合并分支代码"
git push
查看合并后的文件:多了222222,合并成功
五、项目的版本操作
1.版本回退到上一个版本
git reset --hard HEAD^
回退3个版本
git reset --hard HEAD^^^
回到前1000个版本
git reset --hard HEAD~1000
2.精确回到指定版本,需要知道版本id,执行命令git reflog得到各版本id
git reset --hard 9cc6625