Github基本操作2018-10-28

本文说明在Git的基本操作指令

基础是已经下载了Git Bash,配置了用户名邮箱和SSH密钥
具体参考了《GITHUB入门与实践》第4章

1 基本操作

1.1 git init ---- 初始化仓库

$ mkdir git-tutorial
$ cd git-tutorial
$ git init

1.2 git status ---- 查看仓库状态

插入一个README.md

$ touch README.md
$ git status

1.3 git add ---- 向暂存区添加文件

上面添加的文件只是在当前工作目录中,但是不会被计入Git仓库的版本管理对象中
因此用git status查看时,README.md为Untracked files。

 $ git add README.md
 $ git status

1.4 git commit --- 保存仓库的历史记录

git commit 可以将暂存区中的文件实际保存到git仓库的历史记录中,通过这些记录,可以在工作树中复原文件。

$ git commit -m "First commit"

1.5 git log --- 查看提交日志

$ git log
$ git log -pretty=short

显示文件的改动:

$ git log -p README.md

1.6 git diff --- 查看更改前后的差别

比较的是工作树和暂存区之间的差别。
如果比较工作树与最新提交之间的区别,请使用:

$ git diff HEAD

2 分支的操作

2.1 git branch --- 显示分支一览表

image.png

其中master前面的*表示这是我们当前所在的分支。

2.2 git checkout -b --- 创建、切换分支

$ git checkout -b feature-A

此时创建了分支 feature-A,并且工作在该分支下

2.3 切换分支 git checkout

切换回主分支为:

$ git checkout master

切换到上一个分支为:

$ git checkout -

2.4 遇到如下问题

XXXX@LAPTOP-L9R6BKCR MINGW64 /c/01-02-GIT/git-tutorial (master)
$ git checkout feature-A
error: Your local changes to the following files would be overwritten by checkout:
README.md
Please commit your changes or stash them before you switch branches.
Aborting

删除.git文件夹下的index.lock文件即可

2.5 git merge 合并分支

将feature-A合并到master分支中

 $ git checkout master
 $ git merge --no-ff feature-A

2.6 git log --graph 以图表形式查看分支

3 更改提交的操作

3.1 git reset --- 更改提交的版本

$ git reset --hard 哈希值

回退到原来的master分支后,README.md中内容变回原内容。
此时建立分支fix-B,在分支B中修改README.md中的内容。

git log只能看以当前状态为终点的历史日志。如果需要看全部状态的历史日志,需要输入:

$ git reflog

3.2 取消冲突

例如我们要将两个分支feature-A和fix-B进行合并
使用 git merge --no-ff fix-B指令后,会报错“Merge Conflict in README.md”,这就是冲突。
此时打开README.md会发现其中内容比较混乱,可以将其修改为想要的值,再add和commit。

3.3 git commit --amend --- 修改提交信息

用于修改之前提交时的提交信息内容。

3.4 git rebase -i --- 压缩历史

4 推送至远程仓库

首先要在github上创建一个仓库,将其设置为本地仓库的远程仓库
Github上创建的仓库路径为:git@github.com:用户名/git-tutorial.git

4.1 git remote add --- 添加远程仓库

$ git remote add origin git@github.com:xxxxx/git-tutorial.git  

4.2 git push --- 推送至远程仓库

  • 推送至master分支
    $ git push -u origin master

此时报错:
ERROR: Repository not found.
fatal: Could not read from remote repository.

解决方法:

$ git remote set-url origin git@github.com:xxxx/git-tutorial.git

再进行git push即可。

  • 推送至master以外的分支
    先在本地仓库创建分支D:

    $ git checkout -b feature-D
    

再push:

$ git push -u origin feature-D

5 从远程仓库获取

5.1 git clone --- 获取远程仓库

  • 获取远程仓库
    在另一个文件夹中,打开git bash

    $ git clone git@github.com:xxxx/git-tutorial.git

就将远程仓库中的master分支拷贝过来了。

  • 获取远程的feature-D分支

    $ git checkout -b feature-D origin/feature-D

  • 向本地feature-D分支提交更改
    修改本地文件后,使用git diff查询更改
    使用下面命令进行add和commit

    $ git commit -am "Add feature-D"

  • 推送feature-D分支

    $ git push

5.2 git pull --- 获取最新远程分支

打开原来的项目文件夹(其中feature-D中文件未更新)

$ git pull origin feature-D

即可获取最新远程分支到本地。

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

推荐阅读更多精彩内容