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-操作系统-显卡-显 ...
随机推荐
- rman备份控制文件
rman备份控制文件分为两种情况. 1.自动备份需要配置configure controlfile autobackup on配置之后,控制文件和spfile会在每次rman备份之后自动备份contr ...
- java基础(七) java四种访问权限
引言 Java中的访问权限理解起来不难,但完全掌握却不容易,特别是4种访问权限并不是任何时候都可以使用.下面整理一下,在什么情况下,有哪些访问权限可以允许选择. 一.访问权限简介 访问权限控制: ...
- centos7 yum安装mysql | mariaDb
mysql解释: mysql数据库是最常用的一种数据库,下面我来在centos7的迷你版上安装一下mysql.绝对纯净的环境哦 centos: CentOS-7-x86_64-Minimal-1 ...
- python中的字符串编码问题——2.理解ASCII码、ANSI码、Unicode编码、UTF-8编码
ASCII码:全名是American Standard Code for Information Interchange,ASCII码中,一个英文字母(不分大小写)占一个字节的空间,范围0x00~0x ...
- git pull 错误:The following untracked working tree files would be overwritten by merge
错误描述: $ git pull origin alphaFrom https://github.com/shirley-wu/HeartTrace * branch alpha ...
- mocha、chai、sinon和istanbul实现100%单元测试覆盖率
敏捷软件开发中,最重要实践的就是测试驱动开发,在单元测试层面,我们试着实现一个重要的指标就是测试覆盖率.测试覆盖率衡量我们的代码是否已经全部被测试到了. 但是指标本身不是目的,借助测试覆盖率检查,我们 ...
- [swift] Async
Async https://github.com/duemunk/Async Syntactic sugar in Swift for asynchronous dispatches in Grand ...
- [UI] 精美UI界面欣赏[11]
精美UI界面欣赏[11]
- 可以简易设置文字内边距的EdgeInsetsLabel
可以简易设置文字内边距的EdgeInsetsLabel 最终效果: 源码: EdgeInsetsLabel.h 与 EdgeInsetsLabel.m // // EdgeInsetsLabel.h ...
- RedHat 7 安装PostgreSQL 10.5
系统环境 Redhat: Version: 7.4.1708 Architecture: x86_64 Address: 10.127.1.11 User: root Uassword: redhat ...