Git命令的简单整理大全
创建目录和查看路径
mkdir 创建目录
cd 进入到目录里面
pwd 用于显示当前的目录
cat 查看文件内容
Git命令使用说明
初始化一个目录成git的仓库(版本库)包括暂存区和master分支
git init查看当前目录的文件包括隐藏文件
ls -ah获取git命令的手册页
git help使用git前需要进行一些全局的配置
> 1、用户目录下的配置,当前登陆用户所有的仓库调用这个配置 ~/.gitconfig
> 2、项目目录的配置,优先级高,覆盖全局配置配置用户名和邮箱
|
1
2
3
|
git config --global user.name "wirelessqa"git config --global user.email wirelessqa.me@gmail.comgit config --global color.ui true 让Git显示颜色,会让命令输出看起来更醒目 |
.gitignore 配置 不纳入git管理 主要是系统文件,编译文件,自定义的文件 ,这个文件也用推送到远程库
https://github.com/github/gitignore ,创建 touch 命令
配置编辑器 git在需要输入一些消息
|
1
|
git config --global core.editor emacs |
配置比较工具
|
1
|
git config --global merge.tool vimdiff |
读取配置(同一个配置选项会出现多次,以最后一次为准)
|
1
|
git config --list |
提交文件之前
先查看当前的状态 ,能提示你接下来怎么做的命令,比如修改工作区文件内容,提示你添加到暂存区或者丢弃工作区修改的命令
|
1
|
git status |
查看文件到底修改了什么
|
1
|
git diff |
提交修改
纳入git仓库管理,把修改添加到暂存区(使用.代表将所有的修改进行添加)
|
1
|
git add . |
把暂存区里面的所有修改提交到当前分支同时创建一个快照
|
1
|
git commit -m "" |
如果确认当前所有变更都是同一个commit,可以直接加-a,就不必一个一个add了
|
1
|
git commit -a -m "" |
工作区和版本库里最新版本的区别
|
1
|
git diff HEAD -- readme.txt |
查看提交历史
|
1
|
git log --pretty=oneline |
撤销修改
|
1
|
git checkout -- readme.txt |
> 1、修改后还没添加到暂存区 ,撤销修改回到最近一次commit的状态,也就是和版本库里面的状态一样
> 2、修改后被添加到暂存区了,又做了修改 ,撤销修改就回到添加到暂存区后的状态,也就是跟暂存区里面的状态保持一致
> 3、用版本库里的版本替换工作去的版本,无论工作区是修改还是删除
可以把暂存区的修改撤销掉
|
1
|
git reset HEAD file |
提交文件删除修改到暂存区
|
1
|
git rm test.txt |
版本回退
git的版本回退知识改了head 指针,顺便把工作区的文件更新掉了
|
1
2
3
|
git reset --hard HEAD^或git reset --hard 3628164 |
查看命令历史
可以看到reset和commit等命令历史,可以利用这个命令查看最近一次
|
1
|
commitidgit reflog |
工作区和暂存区
工作区:电脑上能看到的目录 ,里面有个.git 隐藏目录这个不算工作区,是git的版本库版本库里面包含了暂存区stage和git为我们自动创建第一个分支
远程库管理
查看远程库信息
|
1
|
git remote -v |
修改远程仓库地址(在已经add了远程仓库地址,使用它进行修改地址)
|
1
|
git remote set-url origin https://github.com/USERNAME/OTHERREPOSITORY.git |
关联远程库(添加远程仓库地址)
|
1
|
git remote add origin git@github.com:linhbcode/first-test.git |
本地的master分支推送到远程的master分支上,原则就是master分支要与远程同步 ,dev 分支开发分支,也需要远程同步
|
1
|
git push origin master |
master分支推送到远程的master分支,本地master 分支和远程master分支建立关联
|
1
|
git push -u origin master |
Git自动把本地的master分支和远程的master分支对应起来了,并且,远程仓库的默认名称是
|
1
|
origingit clone git@github.com:linhbcode/first-test.git |
git pull 如果提示冲突解决冲突 抓去信息碰到没有链接的 有两种方式解决
> 1、git branch --set-upstream branch-name origin/branch-name 建立本地分支和远程分支的关联
> 2、git pull origin branchname
分支管理
1、不完整的代码在其它分支上提交
2、每个提交都在一个时间线上的节点上,分支相当于指向一个节点的指针
head 本质上是指向分支的指针
创建并切换分支
|
1
|
git checkout -b dev |
本地分支创建和远程分支相同的分支,主要是仓库从远程clone过来的(一般要先git fetch,再git checkout -b branch-name origin/branch-name)
|
1
|
git checkout -b branch-name origin/branch-name |
创建分支
|
1
|
git branch dev |
切换分支 , 如果当前的工作只完成一半,还没发提交的话
|
1
|
git checkout dev |
可以用 git stash 保存工作现场 ,在用它之前可以 git stash list 查看有几个暂存的列表
查看有几个暂存的列表
|
1
|
git stash list |
保存工作现场
|
1
|
git stash |
恢复 工作现场
|
1
|
git stash apply |
来删除 工作现场
|
1
|
git stash drop |
查看当前分支
|
1
|
git branch |
查看远程分支
|
1
|
git branch -r |
合并分支
|
1
|
git merge dev |
删除分支
|
1
|
git branch -d dev |
强行删除分支
|
1
|
git branch -D dev |
(删除远程分支)冒号前面的空格不能少,原理是把一个空分支push到server上,相当于删除该分支。
|
1
|
git push origin :branch-name |
提交本地test分支作为远程的master分支
|
1
|
git push origin test:master |
提交本地test分支作为远程的test分支
|
1
|
git push origin test:test |
刚提交到远程的test将被删除,但是本地还会保存的,不用担心
|
1
|
git push origin :test |
查看分支合并图
|
1
|
git log --graph |
查看提交历史
|
1
|
git log --pretty=oneline --abbrev-commit |
合并分支
|
1
|
git merge branchname |
合并分支的时候不采用ff模式(分支删除了还能看的到分支历史信息)
|
1
|
git merge --no-ff -m "merged bug fix 101" issue-101 |
标签管理
描述开发历程,在发布一个版本的时候打一个标签
查看所有的标签
|
1
|
git tag |
对莫一个提交历史打一个标签
|
1
|
git tag v1.0 [commit id] |
查看标签信息
|
1
|
git show [tagname] |
正式开发下最好用这条语句标注下这个标签的描述
|
1
|
git tag -a v0.1 -m "version 0.1 released" 3628164 |
删除标签
|
1
|
git tag -d v0.1 |
推送标签
|
1
|
git push origin v1.0 |
推送全部标签
|
1
|
git push origin --tags |
远程删除标签(先从本地删除标签)
|
1
|
git push origin :refs/tags/v0.9 |
结语
目前就整理了些常用的命令,足够对付平常的工作了,如果大家还想读读Git原理的话,建议看看原文地址:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/001373962845513aefd77a99f4145f0a2c7a7ca057e7570000,里面讲的特别全。
Git命令的简单整理大全的更多相关文章
- 栗染-git命令搭建简单的个人的网页
本来一个很简单的东西被自己搞了很久 可能是对于一个小白来说第一次认识到github的魅力吧,以前只是听别人说过用github搭建网站,听起来很厉害的样子,一直也没有尝试过,突然兴起今天去网上找一些教程 ...
- git命令的简单使用
Gitbash初始化设置 Gitbash安装成功后要配置email和name,否则commit的时候会报错: 运行 git config --global user.email "你的ema ...
- github踩坑之git命令收集与整理(windows)
最近开始又捡起git,第一家公司用的就是git,一直掌握的也不深刻,就知道常用的几个命令,虽然现在用svn,但是觉得git还是不能丢,遂又捡起来了.先总结一部分目前练习用到的,慢慢填补吧~ githu ...
- git命令与协同开发
一 git命令 1.简单命令 git init # 初始化 (建立git 版本相关文件关系都放这里) git config --global user.email "you@example. ...
- Git命令学习总结(-)
入职的第一天,让git命令直接给难住了,汗!使用习惯可视化的工具对于命令行早就忘记的一干二净.还好,回家自己练习一下,总会没有错的.git就不做简介了,版本管理除了svn就是git了,其他的都无所谓了 ...
- Git 命令简单罗列
源教程出自 廖雪峰的官方网站 https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 整 ...
- Git命令整理
说在前面: 刚开始在实习时接触git,是用git可视化工具,但是仅限于克隆库.切换分支.抓取和推送,对于其中的原理不甚了解.看了廖雪峰老师Git教程,获益颇丰.特别要感谢我工作中的同事,是他强烈建议我 ...
- git相关的简单命令
初次使用建议看这个ppt:http://www.bootcss.com/p/git-guide/ 从现有仓库克隆 这需要用到 git clone 命令.如果你熟悉其他的 VCS 比如 Subve ...
- 常用Git命令大全思维导图
开发中代码管理少不了使用Git,对于初学者来说Git命令的学习是一个难过的坎,为了帮助大家记忆并快速掌握Git的基本使用,我把常用的Git命令整理成思维导图,分享给大家. 高清大图在线预览 http: ...
随机推荐
- StoneTab标签页CAD插件 2.6.0
1.纯属自娱自乐,未做过多的测试: 2.理论上可以用在CAD2010-2012版本,自己用的是WIN10 64位,CAD2012,其他未过测试: 3.尚未打算支持其他版本CAD,主要是电脑只能装WIN ...
- # 风险定性(Qualitative)分析
1. 从一个给教师打分的设计表说起 我们参加一个培训课程,一般在培训结束之后,培训机构一般都会分发一份培训师培训效果反馈表,用于评价其讲师的培训能力的强弱. 如果是一家没有什么经验的培训机构设计的反馈 ...
- JS基础_if练习三
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- cpu 100%怎样定位
先用top定位最耗cpu的java进程 例如: 12430工具:top或者 htop(高级)方法:top -c 显示进程运行详细列表键入 P (大写P),按照cpu进行排序 然后用top -p 124 ...
- java代码实现图片内容转文字
前言 现在的手机已经可以实现拍照转文字了.作为一名程序员,得使用java代码实现这一功能,虽然可能没啥用!!! pom.xml 添加依赖 <dependency> <groupId& ...
- 几种常用的java 实现反转的方法———reverse
1.最简单的方法 public static String reverse1(String str) return new StringBuffer(str).reverse().toString() ...
- JCA-Java加密框架
转自:https://www.jianshu.com/p/a8194c237363 JCA是平台的一个主要部分,包含一个“Provider”体系结构和一组用于数字签名,消息摘要(哈希),证书和证书验证 ...
- linux 删除文件空间未释放问题
现象:我们测试环境上,导出数据文件时,由于作业报错,重复导出,空间使用到达100%,按理说,导出的文件时在相同的路径下,文件名也是一致的,会自动替换. 那么之前导出的文件会被删除,问题就出现在删除这一 ...
- IoU-Net论文笔记
原论文标题:Acquisition of Localization Confidence for Accurate Object Detection 1. 前言 Megvii在ECCV 2018上的一 ...
- 8.3.ZooKeeper集群安装配置
1.Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式. 单机模式:Zookeeper只运行在一台服务器上,适合测试环境: 伪集群模式:就是在一台物理机上 ...