git仓库管理笔录
Git是目前世界上最先进的分布式版本控制系统(没有之一)。
小明做了个个人博客,放到了Git 仓库里面。第二天换了台电脑,只需要 git clone 克隆一下git 远程仓库的代码到本地即可。然后他又对项目新增了一个又一个新的功能,每次做完之后,只需要git add ... commit ... push 到Git 仓库里面去就好了,每一次提交到远程仓库都会自动的生成一个历史版本永久存放在Git中。某日,小明发现他最近一次的更改将自己的博客改坏了,导致很多功能失效,于是 他只需要 git reset --hard f8af3fe。。。就又恢复到 f8af3fe 这次提交上了,然后重新提交一下,博客就全部恢复了,但是后面改的东西没了,他可以将最后一次的修改代码再放到本地检测 测试通过后提交 然后完美保存。
Git 就是这么个简单的工具!
简单的几句代码可以给码农带来很大的便利,而且在一定的存储空间内,Git 完全开源免费!帮你存储不怕丢失!至于安全,你不相信他你就不要用他!
不同的系统安装方法不一,自行安装,本博客主要是写给自己看的,万一忘记了可以快速浏览自己的博客!
简单的介绍一下git 常用的命令:
git pull 获取线上最新代码
git status查看当前分支状态 rm a.html 删除a.html文件 git rm a.html 从版本库中删除文件 git log 查看历史提交 git reflog 查看提交的命令历史git diff a.html 查看当前文件的最近修改git add a.html 添加单个修改的文件
git add . 添加所有修改的文件
git commit -m "注释" 提交并给本次提交打上 “注释” 的标签,也可以 git commit -am "注释"
git push origin master 将本地提交后的代码推送到线上Git仓库master分支
git branch -u origin/mybranch 或者 git push origin/mybranch -u 关联远程分支
git pull origin master 指定只获取线上master分支代码
git clone git@github.com:999999/88888.git 克隆git仓库的项目到本地
git branch dev 创建一个dev的分支(等于上个分支的代码)
git checkout dev 签出dev分支
git checkout -b dev 上面两行合并为此一行
git branch -d dev 普通删除 dev 分支
git branch -D dev 强制删除 dev 分支
git checkout -b dev origin/dev 从远程签出 dev 分支
git push origin --delete <remote-branchname> 删除远程分支
git push origin :<remote-branchname> 同上(删除远程)
git branch -m <new-branch-name> 重命明当前分支
git commit --amend 修改上一个commit的描述
git blame <file-name> 查看某文件作者
git branch --set-upstream dev origin/dev 将本地分支和远程分支构建链接 git tag v1.11.1 打上 v1.11.1 的标签 git tag -d v1.11.1 删除 v1.11.1 的标签
git push origin :refs/tags/v0.9 togit@github.com:999999/88888.git从远程删除v0.9的标签 小明正在 master 分支上开发项目,突然接到紧急任务 需要去product 分支上修改某个文件!
于是小明可以选择 提交后切换分支,也可以将当前分支的修改放入暂存区保存起来
git stash 本地储藏当前修改git stash list查看储藏列表信息
git stash apply 恢复储藏的状态(但并不删除该储藏)git stash pop恢复并删除最后提交的储藏
git stash clear 删除所有储藏git stash apply stash@{0} 恢复第{0}的储藏
git merge dev 将当前分支与dev 分支合并,合并后 dev分支不变,当前分支代码齐全最烦的就是合并冲突 假设出现了冲突就很麻烦 webStrom 自带了解决冲突 对比文件的(个人不太习惯)
我电脑Mac 下载了一个 Beyond Compare 软件
假设出现了合并冲突 就使用 git mergetool 命令将自动调用并打开 Beyond Compare 软件,至于怎么用,自己看吧 也很简单,选好了,快捷键保存退出即可!git remote 查看所有远程仓库
git remote set-url origin <URL> 修改远程仓库 URL
git remote add origin <remote-url> 增加远程仓库
git checkout <branch-name> && git cherry-pick <commit-id> 把A分支的某一个commit放到b分支上
追加:
修改已commit的内容:
如果只是commit到了本地 ,未push:git commit --amend
会打开本地缓存文件,修改一下第一行上一个commit的内容保存退出即可
如果要将本地和线上的commit 内容进行修改
git commit -f --amend (并不建议)
同上
神器
如 git status 如何直接使用 git st 达到同样的效果git config --global alias.st status 这就使 git status === git st 了 同样git config --global alias.co checkout git co
git config --global alias.ci commit git cigit config --global alias.br branch git br 大体上就是这么多了 能够灵活使用就好,当然还有个别的没写出来,欢迎评论提点! 更详细的东西看 廖雪峰Git教程 吧!
git仓库管理笔录的更多相关文章
- sourcetree安装以及跳过sourcetree注册登录 - git仓库管理工具桌面版
腾讯软件下载:https://pc.qq.com/detail/17/detail_23237.html 官网下载:https://www.sourcetreeapp.com/ 下载完直接安装 ...
- git仓库管理
删除本地仓库当前关联的无效远程地址,再为本地仓库添加新的远程仓库地址 git remote -v //查看git对应的远程仓库地址 git remote rm origin //删除关联对应的远程仓库 ...
- Git系列四之在本地服务器搭建gitlab仓库管理
1.Git仓库管理 现在本地已经创建了git仓库,又在gitlab上创建了一个git仓库,并且让这两个仓库进行远程同步,这样gitlab仓库既可以备份也可以与他人协作管理远程仓库以及根据需要推送或拉取 ...
- Git系列四之在本地服务器搭建gitlab仓库管理(centeros环境下)
1.Git仓库管理 现在本地已经创建了git仓库,又在gitlab上创建了一个git仓库,并且让这两个仓库进行远程同步,这样gitlab仓库既可以备份也可以与他人协作管理远程仓库以及根据需要推送或拉取 ...
- GitLab/Git在AndroidStudio上的使用(转)
1.在AndroidStudio上的配置GitLab 1)首先先将gitlab上的开发项目clone到本地(可以使用命令行或者管理工具,具体操作在GitLab中已经涉及,这里不再赘述),然后导入到An ...
- 基于gitosis的Git云端服务器配置
(本文需要自己实践,由于时间关系,我仅仅是做了整理和快速的练习,至于笔记中的账号和ip域名都是我参考文章中的.如果读者有任何问题欢迎留言和发邮件到luoquantao@126.com) 硬件:云端阿里 ...
- Git配置和一些常用命令
Git:常用命令.... git clone <repo> git config –list git diff –staged add后,commit前的撤销:git rm –cached ...
- git的学习笔记
1. Git介绍 Git是一个开源的分布式版本控制软件,用以有效.高速的处理从很小到非常大的项目版本管理. Git 最初是由Linus Torvalds设计开发的,用于管理Linux内核开发. Git ...
- git恢复误删除文件
在git仓库管理下误删除文件一般会分为以下3种情况: 1.手动直接删掉,如选择-右击-删除 这种删除未修改本地仓库[版本库],只修改了工作区,直接git checkout -- fileName即可恢 ...
随机推荐
- HTML转义字符串
HTML字符实体(Character Entities),转义字符串(Escape Sequence) 为什么要用转义字符串? HTML中<,>,&等有特殊含义(<,> ...
- 设置SQL Server 2005数据库使之可以远程连接
1. 开启sql2005远程连接功能,开启办法如下: 配置工具->SQL Server外围应用配置器->服务和连接的外围应用配置器->打开MSSQLSERVER节点下的Databas ...
- Linux安装简介
一.基本简介 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统. Linux能运行主要的UNIX工具软件.应用程序 ...
- Unity黑巧克力 滚球游戏 入门级教程
<黑巧克力>系列教程是适合于新手上手Unity的教程,本教程适合作为初次接触Unity(零基础)的第一篇的教程.学习本教程需要有的基础是:线性代数.编程基础.Csharp语言基础.Unit ...
- Swing-JComboBox用法-入门
JComboBox是Swing中的下拉菜单控件.它永远只能选中一个项目,然而比单选按钮节省空间.如果使用setEditable设置为true则内部选项的文本可以编辑,因此这种组件被称为组合框.注意,对 ...
- 201521123089 《Java程序设计》第7周学习总结
一.本周学习总结 1.以你喜欢的方式(思维导图或其他)归纳总结集合相关内容. 二.书面作业 1.ArrayList代码分析 1.1 解释ArrayList的contains源代码 如果对象为空,ele ...
- 201521044091 《Java程序设计》第13周学习总结
1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容.
- Log4J:Log4J三大组件:Logger+Appender+Layout 格式化编程详解
快速了解Log4J Log4J的三个组件: Logger:日志记录器,负责收集处理日志记录 (如何处理日志) Appender:日志输出目的地,负责日志的输出 (输出到什么 地方) Layo ...
- iOS启动图-从网络获取的gif图,在本地一直是没有动画,还模糊的
背景介绍:APP启动页,常有静态图加链接,gif加链接,短视频等几种形式.我们APP前期只有静态图这一种,功能已经实现.之后,有了添加gif的需求,按理说,只要添加一个类型判断,按照数据类型,通过不同 ...
- 再起航,我的学习笔记之JavaScript设计模式23(中介者模式)
中介者模式 概念介绍 中介者模式(Mediator):通过中介者对象封装一系列对象之间的交互,使对象之间不再相互引用降低他们之间的耦合,有时中介者对象也可以改变对象之间的交互. 创建一个中介 中介者模 ...