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即可恢 ...
随机推荐
- ROS学习记录(一)————创建简单的机器人模型smartcar
这是我在古月居上找的(http://www.guyuehome.com/243),但直接运行的话,没办法跑起来,我也是查了好多博客和日志,才实现最后的功能的,所以,记录下来,以备后用吧,也欢迎其他和我 ...
- 转:【Java集合源码剖析】ArrayList源码剖析
转载请注明出处:http://blog.csdn.net/ns_code/article/details/35568011 本篇博文参加了CSDN博文大赛,如果您觉得这篇博文不错,希望您能帮我投一 ...
- 【Alpha】阶段 第六次 Scrum Meeting
每日任务 1.本次会议为第 六次 Meeting会议: 2.本次会议在上午09:35,大课间休息时间在陆大召开,召开本次会议为20分钟,讨论统一下时间安排的问题以及一些程序上的该进: 一.今日站立式会 ...
- 团队作业8——第二次项目冲刺(Beta阶段)5.20
1.当天站立式会议照片 会议内容: 本次会议为第二次会议 本次会议在陆大楼2楼召开,本次会议内容: ①:检查第一次任务完成情况 ②:做第二次任务的详细分工 ③:规定完成时间是在第三次任务之前 ④:遇到 ...
- 201521123082 《Java程序设计》第5周学习总结
201521123082 <Java程序设计>第5周学习总结 标签(空格分隔): java 1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点. 1.2 可选:使用常规 ...
- list后台转化为JSON的方法ajax
导入alibaba的fastJson包 后台: protected void doGet(HttpServletRequest request, HttpServletResponse respons ...
- 201521044091 《java程序设计》第八周学习总结
本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容.1.2 选做:收集你认为有用的代码片段 书面作业 本次作业题集集合 List中指定元素的删除(题目4-1)1.1 实验 ...
- 201521123110第二周Java学习总结
1.本章学习总结 本周的Java学习相对前一周更进了一步,初步学习了Java简单的输入和输出,String类的对象创建后不能修改,它是不可变的,在Java中浮点型默认是double型与C中的int型不 ...
- ArrayList和LinkedList区别及性能测试
ArrayList和LinkedList是Java Lis接口的2个实现.它们的区别如下表所示: 底层结构 强项 弱项 ArrayList 数组 随机访问get和set 插入删除 LinkedList ...
- 201521123059 《Java程序设计》第十二周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 2. 书面作业 将Student对象(属性:int id, String name,int age,doubl ...