github从入门到飞奔

gitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名gitHub。

一般github用于个人项目,前期都是public的,前不久新增了private,大家可以放是有项目啦;而同类型的gitlab多用于企业内部。

 

好啦,闲话不多说,下面从一组实例操作来简单说下如何应用到自己的项目中。

 

前置条件:

1.安装了git,下载地址:https://git-scm.com/downloads

2.在github注册了自己的账号,github地址: https://github.com/

 

 

配置sshkey:

  1.生成key:

            ssh-****** -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保存即可

github从入门到飞奔

点击Add SSH key保存:

github从入门到飞奔

此时配置的电脑,就可以直接与该github账号交互啦,上传和克隆文件等等。。

 

2.创建一个public的仓库:

选择右上角的New responsitory,进入新增仓库页面

github从入门到飞奔

这里你可以选择仓库权限,目前已支持私有仓库新建啦,可以放自己独家秘笈。

github从入门到飞奔

 

点击Create responsitory,提示仓库创建成功,此时会提示一大堆命令行,对于初次了解github的同学来说,这些命令基本够用啦:

github从入门到飞奔

3.回到workspace文件夹下,将仓库克隆到本地,使用命令:
git clone [email protected]:xx/Autoxxt.git

github从入门到飞奔

4.进入刚clone的文件夹下,查看文件状态,使用命令

git status
新增一个文件,text.txt,再次执行 git status,提示文件尚未提交

github从入门到飞奔

5.执行命令 git add text.txt,添加文件 并执行提交命令  git commit -m "增加测试文件"

github从入门到飞奔

7.可以在github仓库看到刚push的文件

github从入门到飞奔

8.更新他人提交的文件,使用命令

git pull

github从入门到飞奔

二、查看并新增分支branch1

1.查看本地分支,git branch,当前只有一个分支

github从入门到飞奔

2.查看所有远端分支 git branch -a

github从入门到飞奔

3.创建新的分支 git checkout -b branch1 ,此时工作分支变为branch1

github从入门到飞奔

此时新增的分支还不在远端分支上,

github从入门到飞奔

此时修改test.txt文件,并push到新建的branch1分支上
发现多个分支时,执行 git push会报错

github从入门到飞奔

执行命令  git push --set-upstream origin branch1

github从入门到飞奔

再次查看远端分支时,发现新增了一个,此时已经提交到github了

github从入门到飞奔

github从入门到飞奔

三、删除分支

master一般为生产分支,而修改bug的分支在bug修复完后,已经没有用了,所以需要删除
执行命令:
git branch -d branch1 ,此时会报错,因为当前的工作分支是branch1,需要将工作分支切回到master

github从入门到飞奔

执行切换工作分支命令:
git checkout master

github从入门到飞奔

此时查看本地分支branch1已经不存在了,再查看远端分支,发现branch1还是存在的

github从入门到飞奔

此时执行删除远程分支命令,发现本地和远端中都不存在了,但是在github上还是有这个分支,此时需要将本地的操作 push到远端
git branch -r -d origin/branch1

github从入门到飞奔

将本地的删除操作push到远端,执行命令:
git push origin:branch1 此时会报错,原因是命令格式不正确

github从入门到飞奔

正确的格式如下,origin后面需要跟一个空格,不能紧跟冒号: 如
git push origin :branch1

github从入门到飞奔

验证删除,此时在github官网上查看分支,branch1分支已经被删成功了

github从入门到飞奔

 

四、git的合并分支操作
1.当前存在多个分支,主分支master和其他分支mergedemo,在主分支下将mergedemo分支合并进来
先切换到master分支,执行命令:git checkout master
执行合并分支命令:git merge mergedemo

github从入门到飞奔

2.合并分支冲突问题解决
2个分支下的test.txt文件内容不一致,此时在master下手动合并,合并后的文件内容如下;

github从入门到飞奔

此时需要手动合并,修改该文件,并提交push
同样需要按顺序执行add,commit,push
注意的是此时不能commit单个文件需要全部commit,命令如下
git add test.txt (ps:当里面有多个文件被修改时,提交可以执行命令 git add . 即可提交所有文件)

git commit -m "合并分支代码"

git push

github从入门到飞奔

 

查看合并后的文件:多了222222,合并成功

github从入门到飞奔

五、项目的版本操作
1.版本回退到上一个版本
git reset --hard HEAD^

github从入门到飞奔

回退3个版本
git reset --hard HEAD^^^

回到前1000个版本
git reset --hard HEAD~1000

2.精确回到指定版本,需要知道版本id,执行命令git reflog得到各版本id

github从入门到飞奔

git reset --hard 9cc6625 

github从入门到飞奔