学习 Git
Git 简介
Git是目前比较流行的分布式版本控制系统之一,能够记录文件的每次修改,还实现了多人并行开发;
Git 组成
- 工作区(写东西之地)
- 暂存区
- 本地仓库(.git)
- 远程仓库(.repro)
Git 安装
Linux系统
- git官网 Linux下载
Mac OS系统
- git官网 Mac下载
在 App Store下载 Xcode
- brew install git 指令 (前提:电脑得安装 Homebrew)
Windows系统
- git官网 Windows下载
创建本地库
创建项目文件夹
$ mkdir my-project
进入项目文件夹
$ cd my-project
初始化 .git
$ git init
查看 .git 文件
$ ls -la
提交本地库
文件 —> 工作区
当项目目录下的文件被修改,修改内容被自动添加到工作区
工作区 —> 暂存区
git add <file | .>:将修改内容从工作区添加到暂存区
暂存区 —> 本地仓库
git commit -m :将暂存区内容添加到本地仓库,并描述提交的目的
git status:查看文件状态 (红色:文件在工作区;绿色:文件在暂存区;显示nothing no commit, working tree clean说明文件已添加到本地仓库)
版本回退
- git log <-n>:查看n条 git 日志
- git reflog <-n>:查看n条历史操作记录
- git reset --hard HEAD~n:返回第n个版本 (HEAD 代表当前版本)
差异比较
- git diff:比较工作区与暂存区的内容
文件撤销
- git checkout --file:撤销工作区修改内容
删除文件
- git rm --file:删除本地仓库修改内容
本地库与远程库创立链接
一. 创建私钥
二. 添加SSH到GitHub
三. 创建远程仓库并与本地仓库相关联
- git remote add origin :让本地仓库员与远程仓库建立联系
- git push <-u> origin master:将本地仓库内容推送到远程仓库master分支上
克隆远程仓库
- git clone :克隆指定仓库
分支管理
- 一. 创建分支
- git branch :创建分支
- git checkout :切换分支
- 二. 合并分支
- git merge :合并分支
- 三. 删除分支
- git branch -d :删除本地分支
- git branch -D :强制删除本地分支
- git push -d origin :删除远程分支
四. 分支冻结
使用场景:需要去其他分支处理BUG,但当前分支还存在未提交的代码时使用
- git stash:将当前的分支的修改冻结,使当前分支工作区,暂存区没有内容
- git stash list:查看冻结列表
- git stash pop:解冻修改
- git cherry-pick commit ID:将某个分支的commit合并
五. 多人协作
- git fetch origin :获取远程指定分支修改
- git pull origin : git fetch + git merge
标签管理
- 一. 创建Tag
- git tag :创建tag
- 二. 删除Tag
- git tag -d :删除本地tag
- git tag push origin :refs/tags/:删除远程tag
- git push origin tag :推送本地tag到远程仓库
- git push origin --tags:推送所有未推送的本地tag到远程仓库
其他指令
- 来源:小和尚学习
- 参考 :Pro Git中文版
- 国内下载:git
学习 Git的更多相关文章
- 学习 git基础命令
缘起 年后到了新公司,由于个人意愿到了一个海外的项目组,除了自己从Java技术栈转了C#技术栈外,很多技术都是第一次使用,学习压力不小啊. 自己也就先从常用的技术开始学起,比如C#,AngularJS ...
- 学习Git的总结与体会
学习Git的总结 blog 第一次学习Git是完全按照廖雪峰老师的教程学习的,学的过程中基本上没有遇到什么问题,但是自己实际操作就问题不断了. 首先,还是按照惯例,来膜拜一下廖雪峰老师精简的教程知识吧 ...
- 深入理解学习Git工作流
http://blog.csdn.net/hongchangfirst/article/list/3 //可以看看 http://blog.csdn.net/hongchangfirst/articl ...
- [转]深入理解学习GIT工作流
深入理解学习Git工作流 字数13437 阅读2761 评论3 喜欢70 个人在学习git工作流的过程中,从原有的 SVN 模式很难完全理解git的协作模式,直到有一天我看到了下面的文章,好多遗留在心 ...
- 记录我开始学习 Git的路程
工作半年多了,总觉得没学到什么东西,于是乎找了个Git学习一下,感觉还蛮厉害的样子.为此记录下我的路程 2015,11,26 更新 前面的路都挺艰难的,在官网下载msysgit网速几乎为0(心情千万只 ...
- 推荐一个可视化的学习Git的好网站:LearnGitBranching
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:推荐一个可视化的学习Git的好网站:LearnGitBranching.
- 发现一个不错的学习git的地方
Git入门:http://rogerdudler.github.io/git-guide/index.zh.html 简洁.实用.高效的学习git基本操作的方式
- 深入理解学习Git工作流(转)
个人在学习git工作流的过程中,从原有的 SVN 模式很难完全理解git的协作模式,直到有一天我看到了下面的文章,好多遗留在心中的困惑迎刃而解,于是我将这部分资料进行整理放到了github上,欢迎st ...
- [少数派]如何学习Git
用玩游戏的方式学习 Git 目录 为什么要学习 Git 怎么学习 Git Learn Git Branching 其他学习资源 用游戏的方式来学习,是一种有趣而高效的方式. 从刚接触电脑时的打字练习软 ...
- 深入理解学习Git工作流(git-workflow-tutorial)
转载:https://segmentfault.com/a/1190000002918123#articleHeader11 人在学习git工作流的过程中,从原有的 SVN 模式很难完全理解git的协 ...
随机推荐
- python编程基础之十七
字符串:str1 = '123' str2 ="123" str3 = """123""" str4 = '''123' ...
- Faker——生成测试数据的PHP类库
工作上用的是TP框架,每次测试功能的时候都要手动添加测试数据,词穷起名总是起一些test1.test2这种low到爆炸的用户名,这让我很难受.稍微翻阅了一些资料,发现laravel有一个生成测试数据的 ...
- VBS 去除文件夹下 Excel 的公式
注意问题 window 环境下运行, 代码 ANSI 编码格式保存. 直接放到需要转换的文件夹下,双击运行. 代码 function getfolder() getfolder=left(wscrip ...
- win server 2008R2 安装telnet 在VM虚拟机中
服务器端: 第一步: 安装telnet 先固定,ip地址,因为虚拟机之间通信需要同网段,所以先固定ip, 第二步: 服务管理器>功能>添加功能 >服务器上安装服务器端telnet ...
- 关于托福改革后的难度、评分和拼分,听听ETS的老师怎么说
“笔者有幸于几天前去到ETS位于普林斯顿的总部学习,聆听了他们关于托福考试的发展和变革的说明,在这里向大家汇报一下此行的收获.” 当从车上下来那一刻起,我们便被那辽阔的绿草地和宜人的风景所吸引,伴随着 ...
- 在react项目中使用redux or mobx?
主要比较参数: 库体积,打包项目体积 开发体验 性能对比 在对比参数前首先分析一下redux和mobx的设计模式,redux和mobx都没有使用传统的mvc/mvvm形式,而且他们使用flux结构也略 ...
- C#解析深浅拷贝
前言 前面我们学习完了设计模式,在其中我们有了解到原型模式.这里涉及到了克隆自身对象.那么也就是对对象进行拷贝.这里就涉及到了这么一个概念.深浅拷贝.何为深拷贝何为浅拷贝呢?我们一起来看看吧. 浅拷贝 ...
- ElasticSearch head插件安装与配置
下载 下载地址:https://github.com/mobz/elasticsearch-head 安装 1. 下载到本地 git clone 2. 安装 grunt npm install -g ...
- 关于 mybatis 报invalid comparison: java.util.Arrays$ArrayList and java.lang.String异常
今天碰到个问题,来记录下,希望可以帮助到大家 贴错误源码: 这是一个根据list集合的查找数据的 sql,在接收list的时候加了判断 list != ‘ ’ “”,引起了集合与Stirng类型的比较 ...
- linux centos ubutun svn搭建
1.卸载SVN 查看自己是否安装了svn svn 上图显示已安装,可用以下命令进行卸载 sudo apt-get remove --purge subversion (–purge 选项表示彻底删除改 ...