git初识 基础笔记

git 是什么

Git是目前世界上最先进的开源的分布式版本控制系统。

需要安装git

https://segmentfault.com/a/1190000011809698(安装目录不要在中文下)

    git config --global user.name xxx(英文用户名)

    git config --global user.email xxxx(邮箱地址)

    git config --list 查看全局的配置

常用命令

添加查看

命令                                                 说明

git config --list                                 获取git 的配置项

git config 配置项名                         获取具体的配置名

git config 配置项名 新名字             修改配置项

git init                                             初始化本地版本库

git status                                         查看仓库状态

git add .                                          把工作区的所有修改提交到暂存区

git add 文件路径                             把工作区指定文件提交到暂存区

git commit -m “描述”                       把暂存区的修改提交本地版本库(master分支)

git diff                                             查看工作区具体修改

git diff --cached                              查看暂存区具体修改

git pull origin master                       远程代码拉取到本地工作区

git log                                             查看历史记录 (记录非常多的情况下,英文状态下Q退出当前记录)

git reflog                                         可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作)

git commit -am “描述”                     提交工作区自上次commit之后的变化,直接到仓库区(省略git add)

添加到本地仓库(版本库)

1:git init

2:git add .

3:git commit -m "描述"

4:git log

撤销

第一种情况:撤销工作区的修改

        # git checkout 文件路径

第二种情况:撤销暂存区的修改

        # 1. git reset 文件路径 (把暂存区的修改撤回工作区)

        # 2. git checkout 文件路径

第三种情况:版本回退

        # git reset --hard HEAD^  //回退到上个版本

        # git reset --hard HEAD^^ //上上个版本

HEAD^^^~n //回退到n个版本上

        回退到指定版本(回到现在过去)

        git reset --hard commit_id(e66aa88...)

如何获取所有版本的commit_id呢?

针对这个需求,需要分两种情况:

        * 第一,git bash窗口没有关闭,使用前面查过的commit_id

        * 第二,git bash窗口关闭。比如,昨天做的操作,今天后悔了。 使用 git reflog

远程仓库操作

命令                                                                   说明

git clone 仓库的地址                                          克隆一个版本库到新的目录 (git init 不要重复使用)

git remote add origin 仓库的地址                       添加远程仓库地址(链接远程仓库)

git push origin master                                         推送到远程服务器

git push -u origin master                                     如果当前分支与多个主机存在追踪关系,则可以使用-u选项指定一个默认主机,这样后面就可以不加任何参数使用git push。

git remote -v                                                         查看关联的远程服务器名称,在每一个后面有url

git pull origin master                                             远程代码拉取到本地工作区

git pull --rebase origin master                               拉取远程的文件把本地的覆盖

git pull --allow-unrelated-histories                         拉取失败的时候(允许不相关的历史合并)

git remote set-url origin ssh/https地址                  ssh与https互换

git 分支管理

命令                                                     说明

git branch 分支名                                 创建分支

git branch                                             查看本地所有分支

git branch -r                                         查看远程所有分支

git branch -a                                         查看本地和远程所有分支

git checkout 分支名                              切换分支

git merge 分支名                                   合并分支

git checkout -b 分支名                           创建并切换分支

git branch -d 分支名                               删除本地分支

git push origin -d 分支名                        删除远程分支

git fetch origin 远程分支:本地分支         拉取远分支,并创建本地分支

git找回本地误删的文件

1.首先,我们先用git status 看看工作区的变化

$ git status

On branch master

deleted:  Home/View/index.html

Home/View/index.html,记住这个。

$ git reset HEAD Home/View/index.html

$ git checkout Home/View/index.html

git 中一些选项解释

-d --delete:删除

-D  --delete --force的快捷键

-f  --force:强制

-m  --move:移动或重命名

-M  --move --force的快捷键

-r  --remote:远程

-a  --all:所有

gitHub 推荐使用 ssh

公钥和秘钥:任意位置打开 git命令窗口,输入:ssh-keygen

一顿回车,之后会看到路径和图形代码,说明成功。

命令                                                            说明

pwd                                                            查看工作目录

cd [目录位置]                                             切换工作目录

ls [选项]… [目录或文件名]                         显示某一个文件,或者某一个目录旗下子目录的属性。

du [选项]… [目录或文件名]                        统计目录及文件的空间占用情况

命令窗口退出(英文状态下)

:wq 强制退出当前

q 退出git log 描述

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