【已解决】git的一些常用命令
git:分布式的版本管理系统,一般的开发模式:
如果是开发人员,忽略此步骤,从下面大字的开始即可:
项目开始阶段,初始化项目(init),提交本地的代码到仓库,将本地仓库的代码推送到远端库(push);
项目开发人员从远端库克隆代码到本机(clone),此时本地仅有一个master分支;新建dev分支并切换、在Dev分支中进行开发工作,其实就是修改并提交代码(add+commit);当开发的dev分支的代码没问题时,将dev分支合并(merge)到master;将master推送到远端分支,至此,其他的项目开发人员就可以查看到你提交的代码了!
dev分支也可以是修复某个bug或者为了开发某个issue建立的,当bug已经修复或issue开发完成时,把dev合并到master之后,就可以把它删除了
git基本命令
初始化:创建一个git仓库,创建之后就会在当前目录生成一个.git的文件
git init
添加文件:把文件添加到缓冲区
git add filename
添加所有文件到缓冲区(从目前掌握的水平看,和后面加“.”的区别在于,加all可以添加被手动删除的文件,而加“.”不行):
git add .
git add --all
删除文件
git rm filename
提交:提交缓冲区的所有修改到仓库(注意:如果修改了文件但是没有add到缓冲区,也是不会被提交的)
git commit -m "提交的说明"
commit可以一次提交缓冲区的所有文件
查看git库的状态,未提交的文件,分为两种,add过已经在缓冲区的,未add过的
git status
从图中可以看出,绿色的就是已经add过的
比较:如果文件修改了,还没有提交,就可以比较文件修改前后的差异
git diff filename
查看日志
git log
版本回退:可以将当前仓库回退到历史的某个版本
git reset
第一种用法:回退到上一个版本(HEAD代表当前版本,有一个^代表上一个版本,以此类推)
git reset --hard HEAD^
第二种用法:回退到指定版本(其中d7b5是想回退的指定版本号的前几位)
git reset --hard d7b5
查看命令历史:查看仓库的操作历史
git reflog
git分支管理
查看分支的情况,前面带*号的就是当前分支
git branch
创建分支
git branch 分支名
切换当前分支到指定分支
git checkout 分支名
创建分支并切换到创建的分支
git checkout -b 分支名
合并某分支的内容到当前分支
git merge 分支名
删除分支
git branch -d 分支名
如果两个分支同时进行了同一个文件的修改和提交,在merge时就会产生冲突,首先要手动打开文件解决冲突,再提交,就相当于进行了merge
从下图可以看到,红色和绿色的虚线分别代表两个分支,两个分支分别进行了commit,最新的一次提交将两个分支内容进行了合并
git log --graph
新建标签,默认为最新版本,后面加上版本号参数则可指定版本增加标签
git tag 标签名 版本号
查看所有标签:
git tag
查看标签的详细信息
git show 标签名
将tag提交到远端仓库
推送所有tag:
git push origin --tags
推送某个tag:
git push origin v1.0
git远端库相关
git remote add origin git://127.0.0.1/abc.git 这样就增加了远程仓库abc。
git remote remove origin移除远端仓库
将本地仓库内容推送到远端仓库(-u 表示第一次推送master分支的所有内容,后面再推送就不需要-u了),跟commit的区别在于一个是提交到本地仓库,一个是提交到远程仓库
git push -u origin master
从远端库更新内容到本地(相当于svn的update),
git pull
tips:如果push的时候,本地和文件和远端文件有冲突,就要先pull、然后手动解决冲突,才能继续push
git记住用户名密码
push的时候默认每次都需输入GitHub的用户名和密码,在git仓库根目录下.git文件夹的config文件末尾增加如下内容,即可记住用户名密码,无需每次推送都输入了
[credential]
helper = store
最后加一个,强制回退远程仓库的上一个版本(首先要在本地切到该分支)
git push -f
【已解决】git的一些常用命令的更多相关文章
- Git的一些常用命令
一:Git是什么? Git是目前世界上最先进的分布式版本控制系统. 简单的说就是托管代码的便于多人开发的管理系统. 二.Git的一些命令,我详细的说一下 我是基于github给大家说一下git的一些常 ...
- Git安装以及常用命令(图文详解)
**Git安装以及常用命令** 1.下载安装Git,傻瓜式安装相信大家都会. 官网下载地址:[https://git-scm.com/downloads] 2.Git基本操作 (1)git --ver ...
- Git Bash Here常用命令以及使用步骤
1.首先,要clone项目代码: git clone 链接地址 2.更新代码: git pull 3.添加修改过的文件.文件夹: git add 修改过的文件,文件夹 4.提交并注释: git com ...
- Git笔记:Git介绍和常用命令汇总
Git 是一个开源的分布式版本控制系统,与 CVS, Subversion 等不同,它采用了分布式版本库的方式,不需要服务器端软件支持. 工作流程 Git 的工作流程大致如下: 克隆 Git 资源作为 ...
- 开始使用 git(配置+常用命令)
▶ 注意 页面显示问题: -- 是两个短横线 - 是一个横短线 由于显示问题导致两个短横线之间没有空格,看起来像是一条横线,实则是两条短横线 ▶ git 常用命令 ◆ git add ● git ad ...
- Git 入门和常用命令详解
git 使用使用教程 git 使用简易指南 常用 Git 命令清单 下载 https://git-scm.com/downloads 工作流 本地仓库由三部分组成. 工作区:保存实际的文件( ...
- 开发环境之git:团队协作git工作流与常用命令
此篇文章只是一篇傻瓜式的,记录工作中比较规范且常见的一个git工作流需要用到的命令,让你可以快速的开始工作.而不是一些长篇大论的理论知识,如果你有用过sourcetree或者其它图形化工具,结合你正在 ...
- Git 和 Repo常用命令
这篇博客总结的也不错: git常用及进阶命令总结 Git与Repo入门 一.初始環境配置 git config --global user.name "John Doe"git c ...
- 总结下git中一些常用命令
一.目录操作 1.cd 即change directory,改变目录,如 cd d:/www,切换到d盘的www目录. 2.cd .. cd+空格+两个点,回退到上一目录. 3.pwd 即 print ...
- Git安装和常用命令
Git是目前世界上最先进的分布式版本控制系统!!! Git能自动帮我们记录每次文件的改动,还可以让同事协作编辑. 接下来,简单的介绍下Git的安装和常用命令: Git安装: 1.Windows系统,进 ...
随机推荐
- 2、mongoDB的基本操作
数据写入和查询: show dbs (查看有哪些数据库) use imooc (使用数据库) db.dropDatabase() 删除数据库 备注:在use的时候如果use一个不存在的表,在mongo ...
- luoguP2486 [SDOI2011]染色
题目 Description 给定一棵有n个节点的无根树和m个操作,操作有2类: 1.将节点a到节点b路径上所有点都染成颜色c: 2.询问节点a到节点b路径上的颜色段数量(连续相同颜色被认为是同一段) ...
- Html学习之十(CSS选择器的使用--伪类选择器)
伪类选择器 一.基于a标签. 1.:hover 选择鼠标滑过的超链接元素 2.:active 选择鼠标单击中的超链接元素 3.:link 选择未被访问的超链接元素 4.:visited 选择已经被访问 ...
- php 学习笔记之日期时间操作一箩筐
格式化日期时间 date : 格式化日期时间 场景 将当前日期时间或者特定日期时间格式化输出为特定格式的字符串,常用于人性化展示信息. 说明 返回给定时间戳格式化后所产生的日期时间字符串,如果没有给出 ...
- 【正则】day02
正则表达式的应用匹配.查找.分割.替换对于普通字符串处理函数和正则表达式字符处理函数,使用的原则:能用普通字符串处理函数处理的,就不要用正则表达式处理. 原因:普通字符串处理函数:效率高.简单.正则表 ...
- Unity S老师系列课程学习
AssetBundle(创建打包)入门学习(基于Unity2017) (已看) 分组策略 逻辑实体分组 按照类型分组 按照使用分组 分组策略----总结 把经常更新的资源放在一个单独的包里面,跟不经常 ...
- ThreadPoolExecutor 线程池 简单解析
jdk1.8 ThreadPoolExecutor ThreadPoolExecutor实际就是java的线程池,开发常用的Executors.newxxxxx()来创建不同类型和作用的线程池,其底部 ...
- mysql事务隔离级别与设置
mysql数据库,当且仅当引擎是InnoDB,才支持事务: 1.隔离级别 事务的隔离级别分为:未提交读(read uncommitted).已提交读(read committed).可重复读(repe ...
- ActiveMQ基础使用
概述 ActiveMQ是由Apache出品的,一款最流行的,能力强劲的开源消息总线.ActiveMQ是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,它非常快速,支持多 ...
- golang实战--家庭收支记账软件(面向过程)
1.开发流程 2.目标 模拟实现一个基于文本界面的(家庭记账软件) : 初步掌握编程技巧和调试技巧: 主要包含以下知识点:局部变量和基本数据类型.循环语句.分支语句.简单屏幕格式输出.面向对象编程: ...