GitHub使用入门及常用命令

注册

链接到本地

  • 首先在本地创建ssh key,进入Git bash,输入如下命令:

$ ssh-keygen -t rsa -C "your_email@youremail.com"

  • “ ”中间需要输入自己注册GitHub的邮箱
  • 之后会要求确认路径和输入密码,使用默认的一路回车就行
  • 运行结果如下:


    1.jpg
  • 第一次还需要设置username和email

$ git config --global user.name "your name"

  • email:

$ git config --global user.email "your_email@youremail.com"

  • 为了验证是否成功,在git Bash下输入:

$ ssh -T git@github.com

  • 运行结果如下:


    2.png
  • 在C盘用户下的.ssh目录里找到id_rsa和id_rsa.pub这两个文件
  • 将id_rsa.pub里面的内容复制
  • 打开GitHub,在右边找到Settings


    image.png
  • 点击SHH and GPG keys,New SHH keys


    image.png
  • 点击New SHH keys,Title可以随便填,将刚才复制的key粘贴在Key中,点击Add SSH key


    image.png
  • 这时候会跳出界面,确认密码


    image.png
  • 在Git Bash中通过git remote add origin命令,从本地连接到要连接的Git Hub仓

$ git remote add origin https://github.com/...

  • 这个http://....在这个位置


    image.png
  • 运行结果如下:


    image.png
  • 连接上了


    image.png

从本地上传文件到GitHub

  • 首先在本地要上传的仓库(文件夹)下,进入git Bash

  • 要上传如下两个文件:


    image.png
  • 通过git init命令,让新建的文件夹成为git可管理的仓库,输入如下命令:

$ git init

  • 该命令执行成功后,会在目录下生成一个.git的隐藏文件。
  • 通过 git add . 命令,把该目录下的所有文件加入到本地暂存区中,输入如下命令:

$ git add .

  • 格式:git空格add空格.
  • 该命令后面有一个“.”,执行成功后不会有任何提示
  • 运行结果如下:


    3.png
  • 通过命令:git commit -m "文件名",把本地暂存区中的文件提交到本地历史区,输入如下命令:

git commit -m "文件名"

  • 运行结果如下:


    image.png
  • 只有在本地历史区中的内容才能提交到github。执行该命令后,所有的文件都还在本地,不影响GitHub。
  • 因为我在GitHub上新建repository的时候勾选了Initialize this repository with a README(就是创建仓库的时候自动给你创建一个README文件),所以要多输入一个命令:


    image.png

$ git pull --rebase origin master

  • 运行结果如下:


    image.png
  • 最后,如果github仓库的文件夹为空时,输入如下命令:

$ git push -u origin master

  • 远程仓库不为空时,输入如下命令:

$ git push origin master

  • master是分支的名字
  • 运行结果如下:


    image.png
  • 再看自己的GitHub,就可以看到已经上传的文件:


    image.png

从本地远程删除Github中的文件

  • 首先找到GitHub的clone链接,如图:


    image.png
  • 将链接复制,在本地Git Bash中,输入如下命令:

$ git clone https://github.com/***

  • git clone + 复制的链接
  • 将整个仓库clone到本地
  • 通过git init命令,在clone下来的本地仓库里进行初始化

$ git init

  • 通过git rm 命令,删除文件或文件夹
  • 删除文件:

$ git rm "生命游戏.cpp"

  • 删除文件夹:

$ git rm -f "***"

  • 运行结果如下:


    image.png
  • 通过 git commit - m "**" 命令提交上述操作:

$ git commit -m "生命游戏.cpp"

  • 输入一次命令两个删除操作都提交了
  • 运行结果如下:


    image.png
  • 最后推送所有文件到远程仓库

$ git push origin master

  • 运行结果如下:


    image.png
  • 第一次添加远程origin时,需要语句"-u"
  • 这时候再看GitHub,文件已经被删除


    image.png

常用命令

  1. git status
    查看哪些文件处于什么状态。
  2. vim + 文件名
    编辑文件。
  3. git add
    把工作时的所有变化提交到暂存区。
  4. git rm --cached + 文件名
    将远程仓库的文件删除,保留在本地仓库,使其不被版本控制。
  5. 日志
    git log命令:
    image.png

多屏控制显示方式:
空格 : 向下翻页
b : 向上翻页
q : 退出
git log --pretty=oneline命令:

image.png

git --online命令:
image.png

git reflog命令:
image.png

这个命令显示了移动到某个版本需要移动多少步。

6.版本前进和后退:
(1)基于索引值


image.png

图片中的head是指针,head指针当前指向了第一个版本。前面黄色的一列就是每一条记录的索引值,这个索引值并不完整,但是在版本前进和后退的时候,使用这一小段索引值就可以进行版本前进和后台了。
命令:
git reset --hrad +索引值

image.png

当前head指向:
image.png

前进也是一样的~
(2)使用^符号
使用这个方法只能后退。
后退一个版本:
image.png

后退多个:
image.png

也就是一个异或符号后退一个版本。
(3)使用~符号
取代后退多个版本使用多个异或符号的方法:
使用~
image.png

数字代表后退多少个版本。
~符号也是只能后退。
比较一下(1)(2)(3)方法,更推荐方法(1)。

  1. git help + 命令
    查看帮助文档。
  2. git reset命令:
  • --soft参数
    仅仅在本地库移动head指针


    image.png

    也就是本地库看起来往后,看起来好像是暂存区和工作区往前了。


    image.png
  • --mixed参数
    在本地库移动head指针
    重置暂存区


    image.png

    image.png

    这时候显得工作区往前了,实际上是本地库和暂存区往后了。


    image.png
  • --hard参数
    在本地库移动head指针
    重置暂存区
    重置工作区
    hard则是一起动。


    image.png
  1. rm + 文件名命令:
    删除文件
  2. 比较文件
    git diff + 文件名
    如果没有参数是和暂存区进行比较:
    image.png

    和本地库版本进行比较:
    image.png

    和历史版本进行比较:
    image.png

    不带文件名可以比较多个文件:
    image.png
  3. 分支
    查看现在所有的分支:
    git branch -v
    image.png

    创建分支:
    git branch + 分支名
    image.png

    切换分支:
    git checkout + 分支名
    image.png

    合并分支:
    切换到接收修改的分支上(被合并的分支)
    执行git merge + 分支名

示例:
当前分支有两个:一个是hot_fix,另一个是master
要把hot_fix上修改的内容合并到master上
先切换到master分支
然后把hot_fix分支的内容merge到master上


image.png

12.解决分支合并产生的冲突
两个分支在同一个位置都有修改,合并的时候就会产生冲突,这时候就由自动合并转为手动合并:


image.png

可以看到状态发生了改变,但是没有产生额外的文件:


image.png

打开文件发现有了一些新的标记:
image.png

其中HEAD是当前分支的内容,下面是另外一个分支的内容。

手动修改文件,保留需要的部分,然后保存退出。


image.png

执行git add后:
image.png

会提示,还需要git commit
image.png

commit的时候如果带文件名会出错,但是可以写日志信息。

13.在本地保存远程仓地址
复制仓库地址:

image.png

git remote -v:查看地址别名
给地址起一个别名保存起来:
git remote add + 别名 +地址
image.png

  1. 推送
    git push + 别名 + 分支名
    image.png
  2. 克隆
    命令:git clone + 地址
    作用:
    把远程仓库下载到本地
    创建origin远程地址别名
    初始化本地库

16.拉取
pull = fetch + merge
git fetch [远程库地址别名][远程分支名]
git merge[远程库地址别名/远程分支名]
git pull[远程库地址别名][远程分支别名]

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,470评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,393评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,577评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,176评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,189评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,155评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,041评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,903评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,319评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,539评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,703评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,417评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,013评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,664评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,818评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,711评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,601评论 2 353

推荐阅读更多精彩内容