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-操作系统-显卡-显 ...
随机推荐
- Global Average Pooling Layers for Object Localization
For image classification tasks, a common choice for convolutional neural network (CNN) architecture ...
- 微信小程序发布一个月,世界并没有什么不同
从某种意义上说,在张小龙身上,最可怕的事情莫过于微信小程序发布一个月,一开始的大红大紫居然渐归沉寂,曾经的风光无限已无人谈起,世界并没有什么不同. 这真像一场噩梦,一切都可怕地颠倒了.一款微信的战略级 ...
- stm32f103各个型号芯片之间程序移植(stm32的兼容问题)
1.stm32f103系列的各个型号的芯片差别一般不大,都是一些flash大小不一样,一般是向下兼容(大容量芯片兼容中容量芯片)还有晶振大小不一样. ...
- node(2)
//app.js var express = require("express"); //以后的时后处理POST DELETE PATCH CHECKOUT 这些请求都可以用for ...
- react的基本概念
数据流向 数据的改变发生通常是通过用户交互行为或者浏览器行为(如路由跳转等)触发的,当此类行为会改变数据的时候可以通过 dispatch 发起一个 action,如果是同步行为会直接通过 Reduce ...
- 分享:将WDCP中的PHP5.2 1.7升级到PHP 5.3的方法
将wdcp中php 5.2.17升级到php 5.3方法: 1.首先下载wdcp php5.3升级脚本 wget http://down.wdlinux.cn/in/php_up53.sh 2.进行安 ...
- python之mechanize模拟浏览器
安装 Windows: pip install mechanize Linux:pip install python-mechanize 个人感觉mechanize也只适用于静态网页的抓取,如果是异步 ...
- Oracle 启用归档
[applprod@erp10 ~]$ watch ps -fu applprod[applprod@erp10 ~]$ kill -9 82902 84923 [applprod@erp10 ~]$ ...
- UIButton的两种block传值方式
UIButton的两种block传值方式 方式1 - 作为属性来传值 BlockView.h 与 BlockView.m // // BlockView.h // Block // // Create ...
- 用以替换系统NSLog的YouXianMingLog
用以替换系统NSLog的YouXianMingLog 这是本人自己使用并改良的用以替换系统NSLog的类,非常好用,以下是使用示例,现在开源出来并提供源码,好用的话顶一下吧^_^ 效果: YouXia ...