Git基本操作

Git 版本创建和回退

#是否安装好了git
git
#显示安装成功的内容
usage: git [--version] [--help] [-C <path>] [-c <name>=<value>]
           [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
           [-p | --paginate | --no-pager] [--no-replace-objects] [--bare]
           [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
           <command> [<args>]

These are common Git commands used in various situations:

start a working area (see also: git help tutorial)
   clone      Clone a repository into a new directory
   init       Create an empty Git repository or reinitialize an existing one

work on the current change (see also: git help everyday)
   add        Add file contents to the index
   mv         Move or rename a file, a directory, or a symlink
   reset      Reset current HEAD to the specified state
   rm         Remove files from the working tree and from the index

examine the history and state (see also: git help revisions)
   bisect     Use binary search to find the commit that introduced a bug
   grep       Print lines matching a pattern
   log        Show commit logs
   show       Show various types of objects
   status     Show the working tree status

grow, mark and tweak your common history
   branch     List, create, or delete branches
   checkout   Switch branches or restore working tree files
   commit     Record changes to the repository
   diff       Show changes between commits, commit and working tree, etc
   merge      Join two or more development histories together
   rebase     Reapply commits on top of another base tip
   tag        Create, list, delete or verify a tag object signed with GPG

collaborate (see also: git help workflows)
   fetch      Download objects and refs from another repository
   pull       Fetch from and integrate with another repository or a local branch
   push       Update remote refs along with associated objects

'git help -a' and 'git help -g' list available subcommands and some
concept guides. See 'git help <command>' or 'git help <concept>'
to read about a specific subcommand or concept.

如果没有安装的话,看一下这个链接。
https://www.jianshu.com/p/7edb6b838a2e
电脑是Windows的话,可以看一下这个链接。
https://www.jianshu.com/p/414ccd423efc

#git是管理某个目录的代码,首先要进行初始化。
git init
#用下面的命令,你就会发现,又一个.git文件,是个隐藏文件
ls -all

创建版本分为两步,两个核心命令

git add   <可以多个文件和目录>
git commit -m '说明信息,最好是有意义的信息,如版本的描述信息'
git add code.txt code2.txt
git commit -m 'version1'
#那么怎么知道提交还是没提交上去呢,可以用下面的命令
git log
#然后你就会得到下面的东西, 英文状态下,按Q退出log
commit 2c7861b05d6313b7f8dffa2efc4b6b470e7c526b (HEAD -> master)
Author: BossLee <lihaoyuan@192-168-1-2.tpgi.com.au>
Date:   Sun Sep 23 23:48:14 2018 +1000

    version4
#commit 后面的就是版本序列号,之后回退版本的时候会使用到。version4就是添加的版本信息。

版本回退

git reset --hard  HEAD^
HEAD^ 和 HEAD~1都可以代表上一个版本。
HEAD~100代表前一百个版
git reset --head <版本号>

head是个指针,只想当前的版本


工作机理
#查看操作记录
git reflog
#查看当前工作状态
git status
显示内容包括,未跟踪的文件,在工作区但是没有add的,跟踪的文件,add了,改变了,但是没有commit
#丢弃工作区的修改
git checkout -- code.txt
#取消暂存区的修改,回退到在工作区的状态
git reset HEAD code.txt

工作区
当前目录,你可以编辑文件,添加文件,删除文件都是工作区的。
版本库分为暂存区,和库
只add不commit就是在暂存区里面
commit之后就是在库里面,里面存放着你对之前版本的修改而不是复制粘贴。
重点:只对add到暂存区的文件来创建版本。

对比文件的不同

  1. 工作区的文件和版本库里面的文件进行对比
# head 和code.txt也就是当前版本和更改过后的文件比较
git diff head -- code.txt
#出现如下内容,-号代表head,+号代表更改后的文件,可以看出,更改后的文件比当前版本文件多来一句话
diff --git a/code.txt b/code.txt
index ca63af7..b7513d6 100644
--- a/code.txt
+++ b/code.txt
@@ -1,3 +1,4 @@
+sdf
 this is test txt.
 this is second test sentence
 dsfsf
视频笔记
  1. 对比两个版本之间有什么不同
git diff 1 2 -- 文件名
git diff head head^ -- code.text
git diff head^ head -- code.text 
1代表---
2代表+++

删除文件

删除文件之后想撤销这个改动,如下

rm code2.txt
git checkout -- code2.txt

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

推荐阅读更多精彩内容

  • 添加文件到暂存区 git add file git add 可以多次调用实现多个文件添加到版本库。 anyang@...
    TW安洋阅读 514评论 8 2
  • 1. git简介 工作区:本地电脑存放项目文件的地方; 暂存区:在使用git管理项目文件的时候,其本地的项目文件会...
    前端小兵阅读 275评论 0 1
  • 前言 Git相关操作总结 2018-7-14, 联创团队分享 文中部分图片见文末参考链接 正文 一. 基本概念 版...
    HusterYP阅读 382评论 0 4
  • 2.1 创建工作区与版本库 工作区与版本库的创建十分简单,使用 mkdir、cd、git init 三个命令即可完...
    sailboat征帆阅读 391评论 0 0
  • “如果是朋友 请不要选择做恋人”这是笔者八年前经历感悟到的一句话 也执行得特别好。五年前 拒绝了她的好朋友,...
    烟波君阅读 645评论 0 1