Git知多少!!!
第一次写博客,内心有点小激动呀!首先祝大家圣诞快乐~~啦啦啦~~好了,我要步入正题啦!今天是上班第二周,终于开始写需求啦!开森~~撒花~~
来这里第一个要学的就是git的操作啦!入职第一天发了一个大大的git操作流程文档,下面我就整理一下,为了我日后复习,大家可以一起学习。
一,理论的东西
首先介绍一下git 一个分布式管理工具,相信大家对svn有了解的
至于区别嘛!我贴出来啦~
分布式/集中
差异存储/完整备份
节点树分支/文件夹分支
独立版本号/全局版本号
学习git 首先要知道这四个概念:
workspace 工作区
index 暂存区
本地仓库
远程仓库
具体关系看图:

二,git相关配置
Git config 本地化配置相关
git config --list 查看所有的config配置
git config --global [--system] 选择配置环境 g:用户,s:系统
git config user [name/email] 配置用户名和邮箱
git config --global
color.diff=auto
color.branch=auto
color.interactive=auto
color.status=auto
alias.st=status
alias.ci=commit
alias.br=branch
alias.co=checkout
alias.df=diff
push.default=current
git branch --set-upstream-to=origin/<branch> branch
三,git常用命令
- git add [-A].
添加到暂存区,或使用git add file添加指定文件
-A 有删除文件的动作时使用
- git commit -m ‘msg’ [--amend]
提交到本地仓库 --amend 和上一次的commit合并
- git pull [--rebase] [仓库] [分支:分支]
更新远程代码到本地,相当于 fetch + merge
--rebase 以变基方式更新。
[仓库] [分支:分支]指定仓库分支。
git branch --set-upstream-to=origin/<branch> branch
- git push [-f] 仓库 分支
提交本地更新到远程, push.default=current
- git status
查看仓库状态
- git fetch
获取远程的更新(不会合并到仓库和工作区)
- git merge
[分支/节点] 合并分支或更新节点,有代码差异时会新建节点
- git rebase
分支 [--continue | --abort | --skip] 变基操作,逐个合并节点,并提示修复冲突
- git log [-p] [—-stat] [file][节点/分支]
查看日志
-p:查看文件详细
--stat:只查看修改文件列表
file : 查看指定文件
--oneline --graph --author
- git statsh [list] [pop] [apply]
临时搁置已修改的代码
list :查看搁置的记录
apply:恢复某次搁置记录(不删除)
pop: 恢复并删除上一次搁置的记录
- git checkout [-b] [分支/节点]
切换分支/节点
-b 创建并切换到一个分支
可以从暂存区取出文件
- git diff [--cache] [节点]..[节点]
查看修改内容差异
默认查看工作区和仓库的区别。
--cache 查看工作区和暂存区区别
[节点]..[节点]:查看节点和节点的区别
…和..区别
- git blame [节点] file
查看文件中具体某行的书写人:
[节点]: 指定某个节点的文件状态
- git branch [-a] [-d/D]
操作分支
-a 所有的分支,含线上
-d 删除分支,-D强制删除
git show [节点] 查看节点信息
git clone 克隆一个远程仓库
git init 本地生产一个仓库
git remote [add] [-v] 查看、操作仓库信息 add 添加一个远程地址
git reflog 查看仓库操作日志(用于找回操作历史)
git reset [—hard] [节点] 回退版本 (历史回退) —hard 覆盖工作区
git revert [-n|e] 节点 回退版本 (历史递增) -n 不自动commit -e 可以编辑提交信息
git rm –cached 删除文件,相当于 rm + add -A cached从暂存区删除,取消跟踪。
git clean –df 清理未跟踪的文件
git cherry-pick [-n] 拣选某个节点 -n 执行完不进行commit
为了方便大家查找,附上一张图图(ps:图图是我辛苦盗来得的,哈啊~~)
最后最后,以上都是基础的东西。关于冲突处理,以及在多人协同开发中的使用,下期我在更新呀~~~~
(ps:自己在努力学习研究中,脑子是个好东西呀~~~)
欢迎大家交流,还是一只小菜鸟~~~~扑腾中,希望大佬们不吝赐教啦啦啦~~撤啦撤啦,bug还没改完呢!
仰天长啸~~~~~ing
Git知多少!!!的更多相关文章
- 二、python框架相关知识体系
Django框架 1.django框架.flask框架和Tornado框架的区别? django框架,内置组件多,自身功能强大,是一个大而全的框架,ORM.Admin.中间件.Form.ModelFr ...
- 吐血整理:PyTorch项目代码与资源列表 | 资源下载
http://www.sohu.com/a/164171974_741733 本文收集了大量基于 PyTorch 实现的代码链接,其中有适用于深度学习新手的“入门指导系列”,也有适用于老司机的论文 ...
- 转 Pytorch 教学资料
本文收集了大量PyTorch项目(备查) 转自:https://blog.csdn.net/fuckliuwenl/article/details/80554182 目录: 入门系列教程 入门实例 图 ...
- VS Code 安装与配置(使用MSYS2环境与mingw-w64 编译环境)
更正了顺序,之前不知道怎么回事,内容顺序乱了 力求完美.详细,所以希望懂的人留言指点一下. 目前已经开始添加原理解释,希望大家能分享一些gcc gdb C语言等方面优秀链接 后续会慢慢增添内容,修正 ...
- Git / 程序员需要知道的12个Git高级命令
众所周知,Git目前已经是分布式版本控制领域的翘楚,围绕着Git形成了完整的生态圈.学习Git,首先当然是学习Git的基本工作流.相比于SVN等传统版本控制系统来说,Git是专为分布式版本控制而生的强 ...
- 必会必知git
git必会必知 1 前言 git前身是BitKeeper,但是他不是开源软件,不符合当时开源趋势,于是就会有了开源的git,git开发只用了十天时间.目前git是公司开发必不可少的一个工具,用于多 ...
- Git开发必知必会
比如说你现在准备写一个自己的视频资源网站,在创业初期,你的项目暂时还是测试阶段,没有用户的时候,你可能只有一个人在开发,你每天都以写的内容和时间作为文件名的命名,这样其实是可以满足你对版本控制的基本需 ...
- git必知必会
1. Git 配置 --system #系统级别--global #用户全局--local #单独一个项目 git config --global user.name "xxxx" ...
- python预科前三天:计算器知识、Python下载和安装、Pycharm下载安装激活设置、解释型和编译型、git、思维导图、显示隐藏文件、隐藏已知文件扩展名、创建组织、创建项目、提交作业、排BUG技巧
1.计算机组成结构:CPU.硬盘.内存.输入输出设备.主板.电源. 2.硬件之间的协作关系:是CPU运算完后给操作系统.专业术语叫指令. 3.键盘输入a之后发生的事情:键盘-CPU-操作系统-显卡-显 ...
随机推荐
- redis sortedSet
zset 和set 相比: zset 类型和set类型一样,不允许有重复的元素.zset是有序的,zset 有一个double类型的分数,这个分数可以重复,zset正是通过这个分数对集合中的元素从小到 ...
- mysql 安装版
安装 1.MySQL的安装类型选择: 在“Choose Setup Type”对话框有“Typical”默认安装类型:“complete"完全安装类型:Custom自定义安装类型. 我们选择 ...
- Automate the Sizing of your SGA in Oracle 10g
How much memory does each of the individual components of the SGA need? Oracle now has methods to de ...
- web前端要学哪些?
本来是学java还有jsp这些东西的,后来毕业了就去找了个前端的工作:一开始就接触 nodejs+express+Angularjs+mongodb这些东西.不知道学了这些东西做前端够不够用.现在也就 ...
- windows 2008 r2 安装 owas 2013
windows 2008 r2 安装 owas 2013 1.NDP452-KB2901907-x86-x64-AllOS-ENU 2.Add-WindowsFeature Web-Server,W ...
- Oracle EBS 获取完全的值集信息
SELECT fvs1.flex_value_set_name, fvs1.description, decode(upper(fvs1.longlist_flag), 'N', '值列表', 'Y' ...
- 转:socket
最近浏览了几篇有关Socket发送消息的文章,发现大家对Socket Send方法理解有所偏差,现将自己在开发过程中对Socket的领悟写出来,以供大家参考. (一)架构 基于TCP协议的Socket ...
- 转:MVC框架
MVC框架是什么 MVC (Modal View Controler)本来是存在于Desktop程序中的,M是指数据模型,V是指用户界面,C则是控制器.使用MVC的目的是将M和V的实现代码分离,从而使 ...
- [翻译] LiquidFloatingActionButton
LiquidFloatingActionButton https://github.com/yoavlt/LiquidFloatingActionButton LiquidFloatingAction ...
- 适配iOS6与iOS7
适配屏幕其实很简单,但为了保持兼容性以及写的代码的通用性,以及最小的改动代码,本人按照如下的一种方式来适配,可以一劳永逸. 1. 先定义几个宏,分辨表示应用可以使用区域的高度,屏幕可用区域的高度,屏幕 ...