美文网首页
github基本操作

github基本操作

作者: 移动端_小刚哥 | 来源:发表于2018-08-02 17:02 被阅读84次

一、新建github账号并配置SSH_Key

1.1 访问github网站https://github.com,注册并登录

我已经有账号了就不演示了

注册并登录账号.png
1.2 编辑自己信息(看心情不想编辑也行😄)
编辑个人信息.jpeg
1.3 配置key

首先,点击左侧的SSH and GPG key,然后填写名称和key

添加key

但是怎么获取key呢,打开终端输入

  cat ~/.ssh/id_rsa.pub
添加key

复制获取到的本地SSH_key并输入

添加key

配置成功


添加key成功

保存成功已备后用

二、在github新建仓库(repository)

2.1 首先我们进入github个人首页
新建仓库
2.2 输入仓库相关信息
新建仓库
2.3 熟悉的页面出现了😄
新建仓库成功

三、克隆到本地

3.1 首先我们选择一个位置并用终端进入该路径,我是放到桌面的一个文件夹中,文件夹的名字是firstGitRepo

通过终端访问firstGitRepo文件夹
命令为

  cd /Users/jizhigang/Desktop/firstGitRepo    (文件夹路径)
文件夹访问
3.2 将github仓库克隆(clone)到本地(local)

首先我们打开新建仓库的首页并点击clone or download按钮并复制SSH地址

复制SSH地址

克隆仓库又两种方式,一种是https的方式我们暂时不采用,有兴趣的可以研究一下,另一种就是我们采用的SSH方式,前面我们配置的key也是SSH才需要的,https不需要这个key

然后执行命令

 git clone git@github.com:jizhigang/firstRepository.git  (仓库的SSH地址)

如果我们没有配置前面说到的key的话可能出现这种情况


没有配置key

这个时候我们可以回去上面配置key

克隆成功

我们打开firstGitRepo文件夹可以看到一个文件夹,文件夹名字就是我们第一个仓库的名字firstRepository 打开文件夹可以看到markDown文件README.md 克隆成功

克隆成功

四、分支管理与数据操作

首先我们介绍一下git的几个关键词“工作区”、“暂存区(stage\index)”、“HEAD”、“分支”、“分支”

  • 工作区就是本地文件夹
  • 暂存区保存需要提交到版本库的文件(改动)
  • HEAD是一个指针,指向当前分支
  • 分支
流程
4.1 新建分支

我们进入仓库文件夹firstRepository
执行命令

git branch dev(分支名称)

然后我们可以看一下当前分支,执行命令

 git branch

可以看到我们新建的分支dev和当前工作的分支master


查看分支

我们切换到新建的dev分支

  git checkout dev
切换分支

我们再次查看当前工作分支

 git branch

可以看到当前工作分支已经切换到了dev


切换分支成功

现在的分支dev虽然创建成功了,但是仍然在本地,并没有上传到github

github
可以看到github上的firstRepository仓库中只有一个master分支,并没有新建的dev分支

下面我们将本地新建的分支推到服务器上

git push -u origin dev(新建分支名称)

可以看到分支推到远程服务器成功

本地分支推到远程服务器
4.2 文件提交

firstRepository文件夹中添加一张图片

添加图片

执行命令

git add .  //添加到暂存区
git commit -m "dele a pic" -a //添加当前分支
git push -u origin dev //push到服务器
图片提交成功

然后我们去github的firstRepository仓库可以看到dev分支提交成功

远程分支创建成功

而且我们可以看到dev分支中有一张图片,但是master还没有这张图片

dev分支有图片 master没有图片
4.3 分支合并(merge)与回退

切换到master分支

git checkout master //切换到master
git merge dev //将dev分支合并到master上(在本地)
git push -u origin master //将合并之后的master推到服务器

这个时候再回去看master也有了图片,分支合并成功

分支合并

有的时候会出现让我们输入信息的情况参看文章
https://www.cnblogs.com/wei325/p/5278922.html

输入信息

git 在pull或者合并分支的时候有时会遇到这个界面。可以不管(直接下面3,4步),如果要输入解释的话就需要:
1.按键盘字母 i 进入insert模式
2.修改最上面那行黄色合并信息,可以不修改
3.按键盘左上角"Esc"
4.输入":wq",注意是冒号+wq,按回车键即可

如果我们想要看之前版本的内容(新提交的内容有问题等等原因)怎么操作呢?
这个时候也需要一个分支唯一标识的串码

git log

可以看到之前的记录们


更新记录们

如果要恢复到某一个版本可以执行命令

git reset --hard 3584563b19985c04efb2d148ae3f938d669b4050 //这个串码前6位就足够区分了
版本回退成功

git和SVN不一样,git是将所有版本都保留下来,只是通过HEAD指针来切换当前版本,所以这个操作会非常快

4.4 删除与恢复分支

数据合并完毕,如果想要删除分支分为两种情况,如果当前运行在dev分支,我想要删除dev分支,执行命令

git branch -d dev(要删除的分支名称)

这个时候可能删除不成功,但是我非要删除可以执行-D命令

 git branch -D dev

这个时候执行命令查看分支情况

 git branch

可以看到本地分支dev删除成功了


本地分支dev删除成功

但是去github仓库去看一下,远程分支还存在


远程分支dev没有删除成功

那么我们怎么删除远程分支呢,是不是就像创建分支的时候那样执行push命令,我试了一下发现保存,不知道是我操作的姿势不对还是怎么回事儿

报错

删除远程分支我们可以执行命令

git push origin -d dev(远程分支名称)

执行完毕去github查看dev分支已经没有了

远程分支删除成功

删除本地分支和远程分支我们刚才分为两部进行的,实际上可以通过一行命令完成这两部操作的但是我没有成功,所以命令行就不放了😂

如果我们删除之后后悔了怎么办,可以进行分支恢复

Git会自行负责分支的管理,所以当我们删除一个分支时,Git只是删除了指向相关提交的指针,但该提交对象依然会留在版本库中。

因此,如果我们知道删除分支时的散列值,就可以将某个删除的分支恢复过来。在已知提交的散列值的情况下恢复某个分支

我们刚才删除分支的时候可以看到有一个串码


分支的散列值

那么我们可以执行命令

  git branch dev f523e62 //分支名称 串码

可以看到分支恢复成功了


分支恢复成功了

但只是恢复了本地分支,还需要根据第一步push到远程服务器

  git push -u origin dev

那么问题又来了,这个串码如果当时我们没有保留怎么办???是不会就不能恢复了呢,不是的,我们可以使用命令查看所有分支串码

git reflog

可以看到HEAD指针变化的轨迹,为了以后容易区分,写详细的备注信息是很重要的


HEAD指针变化轨迹

那么我们也可以使用以下命令进行恢复

git branch dev HEAD@{4}
4.5 撤销修改

直接引用文章中的内容
https://blog.csdn.net/yj310873325/article/details/80703561

1.查看修改内容:
git diff //已修改,未暂存
git diff --cached //已暂存、未提交
git diff master origin/master //(已提交、未推送) (master本地分支、origin/master远程分支)例如git diff origin dev

  1. 撤销修改内容:
    2.1 已修改、未暂存
    git checkout . 或者git checkout 文件名
    或者 git reset --hard
    git add .的反义词是git checkout . 做完修改之后,如果你想向前走一步,让修改进入暂存区,就执行git add . 如果你想向后退一步,撤销刚才的修改,就执行git checkout . 注意修改一部分确认没问题后,要及时执行git add . 否则reset后就会回到上一次add的地方,中间的修改就都没了。或者只checkout某一个文件名。

2.2 已暂存,未提交
先执行git reset然后执行git checkout .
git reset只是把修改退回到了git add . 之前的状态,也就是说文件本身还处于已修改未暂存状态,你如果想退回未修改状态,还需要执行git checkout .
或者执行一步 git reset --hard
或许你已经注意到了,以上两个步骤都可以用同一个命令git reset --hard来完成。是的,就是这个强大的命令,可以一步到位地把你的修改完全恢复到未修改的状态。但是是全部内容,有点暴力,如果内容较少,可以修改单个文件内容。

2.3 已提交,未推送
你的手太快,你既执行了git add . 又执行了git commit 这时候你的代码已经进入了你的本地仓库,然而你后悔了,怎么办?不要着急,还有办法。
git reset --hard origin/master
还是这个git reset --hard命令,只不过这次多了一个参数origin/master,正如我们上面讲过的,origin/master代表远程仓库,既然你已经污染了你的本地仓库,那么就从远程仓库把代码取回来吧。

2.4已推送
很不幸,你的手实在是太快了,你既git add了,又git commit了,并且还git push了,这时你的代码已经进入远程仓库。如果你想恢复的话,还好,由于你的本地仓库和远程仓库是等价的,你只需要先恢复本地仓库,再强制push到远程仓库就好了:

git reset --hard HEAD^

git push -f

git是一个非常好用,功能也很强大的工具,到此为止我们看到的还都是git的基本操作,还有很重要的一块没有说到,就是冲突的解决,因为我是独立开发,所以很少遇到提交冲突的情况,这里先不做介绍,与君共勉!!!

指令小集合
git add README.md
//如果创建仓库的时候没有添加md文件,可以在本地创建md文件,但是这个命令比较坑爹,>如果不成功的话可以用touch README.md命令代替
touch README.md //同上
git clone https或者SSH地址 //克隆远程仓库到本地
git add . //工作区所有变化的内容添加到暂存区
git commit -m "描述文字" -a //将暂存区的内容提交到当前分支
git push -u origin master/dev //将当前分支内容推到服务器
git branch //查看当前工作分支
git branch 分支名称 //创建分支
git checkout 分支名称 //切换分支
git merge 分支名 //将分支合并到当前分支
git branch -d dev //删除本地分支
git branch -D dev //如果运行到dev分支上,那么可以-D强制删除
git push -u origin dev //删除远程分支dev
git branch -r -D origin/dev //同时删除本地和远程分支(不确定⚠️)
git branch dev f523e62 //恢复本地已经删除的分支(使用串码)
git branch dev HEAD@{4} //恢复本地已经删除的分支
git reflog //如果想要恢复分支,但是直到串码,可以查看所有变化轨迹

参考文档
https://blog.csdn.net/chenzhen1080/article/details/73992223
https://www.cnblogs.com/TaylorApril/p/6815142.html
https://blog.csdn.net/scorpion_zs/article/details/53837488
https://blog.csdn.net/hong3_yang/article/details/54948228
https://blog.csdn.net/a1031397017/article/details/74518984
https://blog.csdn.net/zhenhanhong_tony/article/details/53031794
https://blog.csdn.net/afei__/article/details/51476529
https://blog.csdn.net/q563573095/article/details/79580060
http://www.cnblogs.com/specter45/p/github.html#s4
https://blog.csdn.net/yj310873325/article/details/80703561
https://www.cnblogs.com/utank/p/7880441.html
https://www.cnblogs.com/wei325/p/5278922.html
https://www.cnblogs.com/VAllen/p/git-remote-delete-origin-branches.html

相关文章

  • github基本操作

    一、新建github账号并配置SSH_Key 1.1 访问github网站https://github.com,注...

  • gitHub 基本操作

    一、 关联本地库和远程库: 1. C盘 windows 打开Git Bash git config --glo...

  • github基本操作

    详见官方文档https://guides.github.com/activities/hello-world/

  • github基本操作

    灵魂三连问: github干啥的?答:github就是个版本仓库,你要多人协同做个项目,你在github建个仓库,...

  • GitHub基本操作

    Quick setup — if you’ve done this kind of thing before Ge...

  • GitHub

    GitHub基本操作

  • GitHub最基本操作

    下载安装就不详细说明,就写一下比较常用的操作。 1.在Web端上创建一个新的文件夹repositories,一般默...

  • github的基本操作

    初始化仓库 增加/删除文件 查看信息 分支管理

  • GitHub的基本操作

    一、GitHub的基本操作 1.1.使用in限制搜索 1.2.根据stars和forks数筛选 1.3.使用awe...

  • GitHub基本操作指南(一)

    一、新建仓库,设置本地与远程仓库间的账号与地址,并复制远程仓库 新建仓库,并获取ssh地址; 打开终端,进入本地仓...

网友评论

      本文标题:github基本操作

      本文链接:https://www.haomeiwen.com/subject/jqajvftx.html