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 to
git@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 ci

git config --global alias.br branch     git br

大体上就是这么多了   能够灵活使用就好,当然还有个别的没写出来,欢迎评论提点!

更详细的东西看  廖雪峰Git教程 吧!
 


 







 
 

git仓库管理笔录的更多相关文章

  1. sourcetree安装以及跳过sourcetree注册登录 - git仓库管理工具桌面版

      腾讯软件下载:https://pc.qq.com/detail/17/detail_23237.html 官网下载:https://www.sourcetreeapp.com/   下载完直接安装 ...

  2. git仓库管理

    删除本地仓库当前关联的无效远程地址,再为本地仓库添加新的远程仓库地址 git remote -v //查看git对应的远程仓库地址 git remote rm origin //删除关联对应的远程仓库 ...

  3. Git系列四之在本地服务器搭建gitlab仓库管理

    1.Git仓库管理 现在本地已经创建了git仓库,又在gitlab上创建了一个git仓库,并且让这两个仓库进行远程同步,这样gitlab仓库既可以备份也可以与他人协作管理远程仓库以及根据需要推送或拉取 ...

  4. Git系列四之在本地服务器搭建gitlab仓库管理(centeros环境下)

    1.Git仓库管理 现在本地已经创建了git仓库,又在gitlab上创建了一个git仓库,并且让这两个仓库进行远程同步,这样gitlab仓库既可以备份也可以与他人协作管理远程仓库以及根据需要推送或拉取 ...

  5. GitLab/Git在AndroidStudio上的使用(转)

    1.在AndroidStudio上的配置GitLab 1)首先先将gitlab上的开发项目clone到本地(可以使用命令行或者管理工具,具体操作在GitLab中已经涉及,这里不再赘述),然后导入到An ...

  6. 基于gitosis的Git云端服务器配置

    (本文需要自己实践,由于时间关系,我仅仅是做了整理和快速的练习,至于笔记中的账号和ip域名都是我参考文章中的.如果读者有任何问题欢迎留言和发邮件到luoquantao@126.com) 硬件:云端阿里 ...

  7. Git配置和一些常用命令

    Git:常用命令.... git clone <repo> git config –list git diff –staged add后,commit前的撤销:git rm –cached ...

  8. git的学习笔记

    1. Git介绍 Git是一个开源的分布式版本控制软件,用以有效.高速的处理从很小到非常大的项目版本管理. Git 最初是由Linus Torvalds设计开发的,用于管理Linux内核开发. Git ...

  9. git恢复误删除文件

    在git仓库管理下误删除文件一般会分为以下3种情况: 1.手动直接删掉,如选择-右击-删除 这种删除未修改本地仓库[版本库],只修改了工作区,直接git checkout -- fileName即可恢 ...

随机推荐

  1. 《深入浅出MySQL》之数据类型

    MySQL提供了多种数据类型,主要包括数值型.字符串型和日期时间类型.本次博客就来谈谈MySQL中常用的数据类型吧(版本:mysql-5.7.19)! 数值类型 MySQL支持所有标准SQL中数值类型 ...

  2. 集美大学网络1413第九次作业成绩(团队五) -- 测试与发布(Alpha版本)

    NO.NE团队的项目链接有效,六个核桃和六指神功团队可以请教下他们,避免因IP地址无效或者因tomcat不打开就不能访问的情况,毕竟助教没办法知道此时此刻它是开着还是关闭啊啊啊... 题目 团队作业5 ...

  3. 201521123088 《Java程序设计》第1周学习总结

    第1周学习总结 1.本周学习总结本周我们正式开始了对一门新的编程语言java的学习.Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承.指针等概念,因此J ...

  4. 201521123098 《Java程序设计》第12周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 1. Input Stream -- 数据提供者可从其中读数据输出流:Output Stream -- 数据接 ...

  5. 201521145048《java程序与设计》第9周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 本次PTA作业题集异常 Q1.常用异常 题目5-1 1.1 截图你的提交结果(出现学号) 1.2 自 ...

  6. Junit4学习(五)Junit4测试套件

    一,背景 1,随着开发规模的深入和扩大,项目或越来越大,相应的我们的测试类也会越来越多:那么就带来一个问题,假如测试类很多,就需要多次运行,造成测试的成本增加:此时就可以使用junit批量运行测试类的 ...

  7. javascript面向对象编程笔记

    对象:一切事物皆是对象.对象是一个整体,对外提供一些操作.比如说一个收音机是一个对象,我们不需要知道它的内部结构是什么,只需要会使用外部的按钮就可以使用收音机. 面向对象:面向对象语言的标志是他们都有 ...

  8. C#参数详解

    参数 可选参数与命名参数 设计方法时,我们可以为部分参数设置默认值,在方法调用时就可以不提供该参数,使用其默认值.此外,调用方法时可以通过指定参数名的方式来传递参数.话不多说,请看以下示例: stat ...

  9. mongodb 与关系型数据库

    设计 MongDB 模式时应注意的问题 根据用户需求来设计模式. 如果想一起使用对象,请将这些对象合并到一个文档中,否则要将它们分开(但是要确保不需要连接). 经常复制数据(但要有一定限度),因为与计 ...

  10. 常见注入手法第一讲EIP寄存器注入

    常见注入手法第一讲EIP寄存器注入 博客园IBinary原创  博客连接:http://www.cnblogs.com/iBinary/ 转载请注明出处,谢谢 鉴于注入手法太多,所以这里自己整理一下, ...