设计思路

  • 工作区(Working Directory)、版本库(Repository)、暂存区(Stage or Index)
  • HEAD指针

    (来自廖雪峰的git教程)
  • branch,时间线

    (来自廖雪峰的git教程)

创建repository

(0.在目标文件夹打开GIT bash)
echo "# RepoName" >> README.md  #创建README.md
git init #初始化
git add README.md file1 file2 ... #添加至缓存区
git commit -m "init" #提交代码
git remote add GitURL #连接远程仓库
git push -u origin master #提交至远程仓库,-u:关联本地和远程库,关联后可不加

退出commit

esc + ZZ(大写)

文件操作相关

pwd #print working directory
ls #list files
ls -ah #list files including the hidden
cat filename#查看文件内容
rm filename#删除文件

查看、回退历史版本(branch->工作区)

git log#查看历史环境,英文状态下按q退出
git log --pretty=online
git reset --hard HEAD^ #版本回退,HEAD:当前版本(一个指针),^回退一个版本
git reset --hard HEAD^^
git reset --hard HEAD~100
git reset --hard commitID
git reflog #查看历史命令

查看、撤销修改(stage->工作区)

git diff HEAD -- filename#查看工作区与当前版本的区别
git checkout -- filename#让文件会到上一次git add 或git commit 的状态,也可恢复文件
git reset HEAD filename#将工作区中某一文件变为指定版本暂存区的文件
git reset comID filename

删除文件

rm filename #删除工作区文件
git rm filename #删除暂存区指定文件
git rm --cached #移除缓存
git checkout -- filename #恢复删除文件

远程仓库

git remote #查看远程仓库
git remote -v #查看详细信息
git remote add origin git@github.com:username/reponame.git #关联远程仓库,远程库的名字是origin
git remote add gitURL
git push [-u] origin master #推送至远程仓库
git clone git@github.com:username/reponame.git
git clone gitURL
git checkout -b localname oringin/dev #在本地创建和远程仓库非master分支一样的分支
git pull <remote> <branch>#合并远程仓库的分支
git branch #--set-upstream <branch> <remote/origin>

分支

git branch bname#创建分支
git checkout bname#切换分支
git checkout -b bname#创建并切换分支
git branch #查看分支
git merge bname#合并到当前分支(fast-forward把master指向bname的修改处)
git merge --no-ff -m "merge with no-ff" bname#禁用fast-forward模式,会再历史记录中显示,常用来修复bug
git -d branch bname # 删除
git -D branch bname # 不合并删除
git log -- graph # 查看时间分支线
git push origin :branch_name # 删除github分支
git checkout -b localname origin/remotename # 从远程分支拉取代码并创建本地分支

config配置

git config --global alias.lg "log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%
d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative"
git config --global alias.cm commit
git config --global user.name "..."
git config --global user.email "..."
git config --global --list # 查看配置
git config --system --list
git config --local --list

分支管理模式

  • master
  • dev
  • issue
  • feature

骚操作

help

git anything --help

忽略某些文件

添加.gitignore文件

在README中加入脚注(页面跳转)

  1. 在底部定义脚注
<a name="name">label</a>: Footnote content goes here<!--<a>表创建超链接-->
  1. 在文档其他位置
<sup>[label](#name)</sup><!--[label]为显示的内容,(#name)是表超链接-->

Github 镜像站

github.com.cnpmjs.org

储存用户名和密码

git config --global credential.helper store

提交 PR

  • 在GitHub中向开源框架提交PR的过程

GitGithub 备忘录相关推荐

  1. 设计模式:备忘录模式??

    定  义:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态. 这样以后就可以将该对象恢复到原先保存的状态. 结构图: Originator(发起人):负责创建一个备忘录(Me ...

  2. 设计模式之备忘录模式(Memento)摘录

    23种GOF设计模式一般分为三大类:创建型模式.结构型模式.行为模式. 创建型模式抽象了实例化过程,它们帮助一个系统独立于如何创建.组合和表示它的那些对象.一个类创建型模式使用继承改变被实例化的类,而 ...

  3. java备忘录模式应用场景_图解Java设计模式之备忘录模式

    图解Java设计模式之备忘录模式 游戏角色状态恢复问题 游戏角色有攻击力和防御力,在大战Boss前保存自身的状态(攻击力和防御力),当大战Boss后攻击力和防御力下降,从备忘录对象恢复到大战前的状态. ...

  4. 备忘录吕吕没有备忘录十新建_一份备忘单,可帮助您记住CSS自定义属性

    备忘录吕吕没有备忘录十新建 CSS custom properties, also known as CSS variables, represent custom properties that c ...

  5. bff v2ex_语音备忘录的BFF-如何通过Machine Learning简化Speech2Text

    bff v2ex by Rafael Belchior 通过拉斐尔·贝尔基奥尔(Rafael Belchior) 语音备忘录的BFF-如何通过Machine Learning简化Speech2Text ...

  6. mobile还有人用吗 spring_话说,苹果手机语音备忘录功能还有人用吗?

    hi,各位,苹果手机自带的语音备忘录功能还有人在用吗? 前两天,有小伙伴在后台留言问:"苹果手机语音备忘录怎么恢复?" 小编一时还有些恍惚"它是什么,手机上有吗?&quo ...

  7. 设计模式(行为型模式)——备忘录模式(Memento)

    2019独角兽企业重金招聘Python工程师标准>>> 本章讲讲第三类和第四类. 备忘录模式(Memento) 主要目的是保存一个对象的某个状态,以便在适当的时候恢复对象,个人觉得叫 ...

  8. 《JAVA与模式》之备忘录模式

    备忘录模式又叫做快照模式(Snapshot Pattern)或Token模式,是对象的行为模式. 备忘录对象是一个用来存储另外一个对象内部状态的快照的对象.备忘录模式的用意是在不破坏封装的条件下,将一 ...

  9. Python设计模式-备忘录模式

    Python设计模式-备忘录模式 代码基于3.5.2,代码如下; #coding:utf-8 #备忘录模式 import randomclass gameCharacter():vitality = ...

  10. 忘了python关键语句?这份备忘录拯救你的记忆

    忘了Python关键语句?这份备忘录拯救你的记忆 今天要介绍的 Python 3 Cheat Sheet 由法国国家科学研究中心(CNRS)的法国机械工程与信息技术实验室(LIMSI)的工程师 Lau ...

最新文章

  1. sim中do文件/memory(readmemb命令符)/移位编写
  2. appium--每次启动会重新安装的问题(没试过)
  3. LeetCode66——Plus One(一个整数用数组存储,然后在末尾加1)
  4. datagridview 手动添加的行如何进行重载_【厚积薄发】如何规划UI图标图集
  5. Expression Blend 利用 SketchFlow 制作原型
  6. 2017-2018-2课表
  7. APP 怎么进行抓包接口测试
  8. 杭电2524 矩形A + B
  9. Spring Boot 启动流程
  10. 学生成绩查询c#语言,C#学生成绩查询系统.doc
  11. 逻辑门、锁存器和触发器
  12. nifi集群_【NIFI】 Apache NiFI 集群搭建
  13. Linux文件打包与压缩
  14. 爬虫实战 爬取谷歌图片 Google images
  15. 群晖docker实现阿里云动态公网域名解析ddns服务
  16. “小小的世界大大的你”演讲全文,这是衡中的呐喊,这是我们每个人都该为自己呐喊,我们不甘平庸
  17. ettercap文本模式+driftnet监控图片瑞星防火墙无效
  18. 注册Netgear DDNS账号的操作
  19. 实数系的基本定理_继续学习贝叶斯定理
  20. 2019年20个最佳产品信息管理(PIM)软件(一)

热门文章

  1. Shiro框架Given final block not properly padded问题解决
  2. warp-transducer源码安装,warprnnt_pytorch生成
  3. BottledWater-PG安装部署
  4. DFS hdu1181(变形课)
  5. 举个栗子!Tableau 技巧(133):完整显示工具提示中的数据
  6. android%3cspan,GIS API (Javascript、IOS、Android版本)
  7. JavaScript - ES6之Promise(then方法详解)
  8. debian 7 网络安装后无法联接wifi
  9. C语言中宏定义函数的运算优先级问题
  10. 优思学院|六西格玛:如何最有效地制定目标?