Git的学习使用笔记

一. 重要的参考资料

git干货系列

二. 常用命令汇总

  1. git初始设置

git config --global user.name "xiyang"
git config --global user.email xiyang@gmail.com

  1. 创建版本库,此时理解下工作区,暂存区和版本库之间的关系,查看资料
    理解暂存区,为了便于理解,你可以暂时理解为:工作区,相当于文本编辑区,暂存区相当于内存,版本库相当于硬盘资料。

# 初始化创建一个仓库(版本库)repository
cd 目录
git init #在目录下产生一个.git隐藏目录,保存版本库的相关信息

  1. 单分支上的操作,首先是新增文件,修改文件内容,删除文件内容的操作

# 命令行touch newfile.txt,或者编辑器中编译生成一个新文件newfile.txt
git add newfile.txt
git commit -m "新增文件"
# 修改文件内容,增加两行信息:"行1","行2"
git add newfile.txt
git commit -m "修改内容,并提交"
# 修改文件内容,删除第二行内容:"行2"
git add newfile.txt
git commit -m "修改内容,并提交"

  1. 单分支上的操作,删除文件的方法

touch file
git add file
git rm --cached file # 删除缓存区文件
git rm file # 删除缓存区和工作区文件
rm file # 删除工作区文件
git commit -m "删除file文件" # commit方式将版本库中file文件删除掉。

  1. 单分支上的操作,比较工作区,暂存区,仓库文本内容的区别

git status # 查看是否有未提交的文件
git status -s # 查看是否有未提交的文件,short简短提示。
git diff # 查看是否存在工作区与暂存区
git diff --cached # 查看暂存区与仓库版本区的内容差别
git diff head # 查看工作区与仓库版本区的内容差别

  1. 单分支上的操作,两种查看日志的操作

# 继续3,4小点的案例,此处用reset的方式,回退提交内容。
git reset head #
git reset --hard head^/commit_id
git log # 查看提交日志,但是无法查看回退情况
git log --pretty=oneline # 以简洁模式,查看提交日志情况
git reflog # 查看提交日志,包括回退的情况

  1. 单分支上的操作,回退版本

# 撤销操作
git checkout -- file # 用暂存区内容,覆盖工作区,撤销工作区修改,
git reset HEAD # 用在git add file之后,git commit之前,此时reset命令,将版本区最后一次提交前内容覆盖暂存区,一般联合git checkout命令,修改工作区内容。
git checkout HEAD [file] # git checkout HEAD [file]是上述两个命令git checkout -- file和git reset Head命令的合体,相当于用版本库内容覆盖暂存区和工作区,回退到上一版本处
# 多次提交,版本回退操作
git reset --hard HEAD/HEAD^/HEAD~10 # 回退1次/2次/10次操作提交
git reset --hard commit_id # 回退到commit_id处

  1. 多分支的管理

git branch testing # 创建分支
git checkout testing # 分支切换
git checkout -b testing # 创建分支与切换分支合并的命令

git branch # 查看所有分支

git checkout master
git merge testing # 将指定分支merge到当前分支,注意此处的合并是快进合并。
git merge --no-ff -m "merge with no-ff" dev # 采用no-ff模式,合并分支,推荐使用该写法,考虑dev分支上,如果多人同时merge自己的feature分支,导致同时更新到一个节点上.

git branch -d testing # 删除分支

git log --graph --pretty=oneline --abbrev-commit # 图形化查看分支历史

git revert -m [编号] # 撤销某次合并。不一定好用。
git revert commit_id # 撤销某次合并。不一定好用。

  1. 分支管理策略
    分支管理策略参考
  1. mster 唯一主分支,提供用户的正式版本都在此分支上
  2. dev 日常开发用的分支
  3. 临时性分支分为三种:
    a. bug 修补bug(fixbug)分支
    b. 功能(feature)分支
    c. 预发布(release)分支

9.github远程仓库的使用

# 第一步,先在github官网上建立一个同名的项目例如:GitCMDUseCase
git remote add origin https://github.com/yujinctc/GitCMDUseCase.git
git pull origin master --allow-unrelated-histories
git push -u origin master # 推送
总而言之
git remote # 查看远程库的信息
git remote -v # 显示更详细的信息
git remote add origin https://github.com/yujinctc/GitCMDUseCase.git 连接远程仓库
git clone https://github.com/yujinctc/GitCMDUseCase.git # 复制一份远程仓库项目到本地
git remote rm origin # 关闭连接远程仓库
git push origin master # 推送分支
git pull origin master # 抓取更新

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

推荐阅读更多精彩内容

  • 1.git的安装 1.1 在Windows上安装Git msysgit是Windows版的Git,从https:/...
    落魂灬阅读 12,643评论 4 54
  • 1. 安装 Github 查看是否安装git: $ git config --global user.name "...
    Albert_Sun阅读 13,617评论 9 163
  • 序:一直以来,我每天走在上班路上都会想,柏油马路每天被这么多人踩来踩去。它会痛么? 可惜现在的我已经来不及想这个痛...
    jiang酱jiang阅读 484评论 4 4
  • 那个夜晚我其实写了一篇很长的文章 一如以往每年所做的那样 但是最终我没有把它发出来 原因其实现在想想觉得很诡异 就...
    nesslee阅读 338评论 2 1
  • 之前和大家说的,最近这段时间,做了套模板,所以今天就和大家分享下。 来,先看东西,正宗行货 视频效果展示 (有BG...
    掌上ppt阅读 689评论 1 9