一.git简单操作

4个地方:

工作区: 当前编辑的区域
缓存区: add 之后的区域
本地仓库: commit之后的区域
远程仓库 :远程的区域

简单操作:

git init  初始化操作 比如我选定了一个文件,我输入了git init ,当前这个文件就是归git管理了
git status 查看git的状态
git add 将文件放到缓存区
git commit -m '操作信息,这里尽量写的详细一点,防止往后看了不知道这一步是干啥的' 将缓存的内容提交到本地仓库
git config --global user.name '' 设置用户的用户名
git config --global user.email '' 设置用户的邮箱
git config --global --unset user.email '' 删除用户的邮箱
git config --global --unset user.name '' 删除用户的用户名
git log 查看当前版本之前提交的记录
git reflog 查看所有提交记录
git reset --hard 'hash值' 回退到之前某次提交的地方 慎用(如果删除之后不能回退)
git checkout filename 将指定文件回退到最近一次commit的地方,只对工作区域修改,缓存区不变
git reset HEAD filename 将指定文件从缓存区拉取到工作区,不会覆盖原来的数据
git diff 对比缓存区和工作区的区别
git diff --cached 对比缓存区和本地仓库的区别

两个远程仓库的网站

github  , 码云

注意这里遇到的错误:

因为线上版本跟本地版本库不一致,本地版本比线上新

` ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'https://github.com/417685417/cw.git'

解决办法:
git pull origin master --allow-unrelated-histories #强制拉取

冲突 : 同时修改了一个文件的同一个位置,冲突自己解决

`Auto-merging templates/index.html
CONFLICT (content): Merge conflict in templates/index.html
Automatic merge failed; fix conflicts and then commit the result.

因为没权限

`Logon failed, use ctrl+c to cancel basic credential prompt.
remote: Permission to 417685417/cw.git denied to WuPeiqi.
fatal: unable to access 'https://github.com/417685417/cw.git/': The requested URL returned error: 403

git remote add origin +地址   添加别名  将本地的东西放到网站上

git clone +地址  将网站上的东西clone(下载)下来

clone指定分支:git clone -b 指定分支名 +地址

git push origin master  将本地的文件上传到远程仓库

git push -f     # 强制提交

git pull origin master  将远程仓库的文件拉取到本地

快照

git stash 创建一个快照

git stash pop 取出快照并删除快照记录

git stash list  查看快照记录

git stash drop name 删除快照

git stash apply name 取出快照

 

git 分支

git branch              #查看当前分支
git branch 分支名 #创建分支
git checkout 分支名 #切换到分支
git checkout -b 分支名 #创建并切换到分支
git merge (master)分支名 #合并当前所在分支和git的那个分支(master)
git branch -d 分支名 #删除分支
git branch dev origin/dev #创建dev分支并以线上的为蓝本
git branch -b dev origin/dev #创建并以线上分支为蓝本并切换到dev下

git tag 创建标签(跟上线内容的版本有关)

git tag #查看tag
git tag -a tagv(版本号) -m '信息' #以当前的位置创建
git tag -a tagv(版本号) -m '信息' hash值 # 以某次提交为蓝本创建
git tag -d tagv(版本号) #删除tag
git push origin :refs/tags/tagv(版本号) #删除远程仓库中的tag(版本)
git push origin --tags #上传所有的tag(所有的版本都推上去)
git pull #下载(将远程仓库的内容拉取下来)

git 忽略文件

  解释 : 比如我写了一个文件,但是我不想把这个文件上传到远程仓库中

1.创建一个隐藏文件,名为.gitignore

vim .gitignore

2.在这个隐藏文件中写上你要忽略上传文件的名字即可

3.然后 git add .  和 git commit -m '信息'   就行了

  此时就将.gitignore文件上传上去了

上传上去也能下载下来,

如果在.gitignore中写了/ ,代表从这往下所有的都不会被忽略了

变基(rebase): 强行合并到一条直线上 

运维自动化 第一章 git的更多相关文章

  1. CentOS 下运维自动化 Shell 脚本之 expect

    CentOS 下运维自动化 Shell脚本之expect 一.预备知识: 1.在 Terminal 中反斜杠,即 "" 代表转义符,或称逃脱符.("echo -e与pri ...

  2. 运维自动化之SALTSTACK简单入门

    运维自动化之SaltStack简单入门 饱食终日而无所事事,是颓也,废也.但看昨日,费九牛二虎之力除一BUG便流连于新番之中,不知东方之既黑,实乃颓颓然而荒废矣.故今日来缀一文以忏昨日之悔. Salt ...

  3. Ansible运维自动化工具19个常用模块使用实例【转】

    一.模块列表 1.setup 2.ping 3.file 4.copy 5.command 6.shell 7.script 8.cron 9.yum 10.service 11.group 12.u ...

  4. 运维自动化之salt笔记

    1:saltstack的基本介绍 2:salt的安装 1:服务端1:安装2:配置文件3:运行4:注意事项2:客户端1:安装2:配置文件3:运行4:注意事项 3:salt的使用: 1:基础知识1:tar ...

  5. 运维自动化之ansible的安装与使用 转

    运维自动化之ansible的安装与使用 随着服务器数量的增长,我们需要一个批量工具去提高工作效率,之前用的是puppet,ansible的简单,适用让我眼前一亮,决定写一篇ansible从安装到基本配 ...

  6. Ansible 运维自动化 ( 配置管理工具 )

    背景 出差背景,要搞项目的自动化部署.因为只直接对接生产分发,机器又非常多,这样以往使用的bat只能作为应急方案了,还是得考虑使用专业化的工具来做这个事情! 当下有许多的运维自动化工具( 配置管理 ) ...

  7. 运维自动化之系统部署 PXE(二)

    PXE介绍 Preboot Excution Environment 预启动执行环境 Intel公司研发 基于Client/Server的网络模式,支持远程主机通过网络从远端服务器下载映像,并由此支持 ...

  8. Ansible运维自动化

    Ansible运维自动化 一.Ansible-playbook的初步使用 playbook的使用,playbook可以把ansible的模块进行组合 ln -s /usr/local/python/b ...

  9. lykops运维自动化

    lykops lykops是一套web可视化的运维自动化项目,基于python3+django开发的. 已实现功能 1.用户管理 详情 2.主机管理 主要功能:收录主机,为其他模块(例如:执行任务)直 ...

随机推荐

  1. mysql数据库定义某字段为唯一约束

    第二:根据以上图片的第四步获得sql语句,并执行sql语句就可以了

  2. phpstudy如何安装ssl证书

    网站上面部署ssl证书的站点越来越大,但有很多集成式的web服务器无法按照一般站点的配置来部署ssl证书,现在,卓趣科技就以集成式phpstudy为例(apache+mysql),为大家展示一下正确的 ...

  3. 如何为 SpringMVC 编写单元测试:普通 Controller 测试(转)

    前一篇文章我们已经知道如何配置使用了 SpringMVC 测试框架的单元测试. 现在我们就该亲身实践下如何为普通 Controller 编写单元测试了. 接下来一个很明显的问题就是: 什么是普通 Co ...

  4. 日志采集器windows客户端的配置释义

    <Extension json> Module xm_json </Extension> <Extension charconv> Module xm_charco ...

  5. python assert断言函数

    python assert断言是声明布尔值必须为真的判定,如果发生异常就说明表达式为假. 可以理解assert断言语句为raise-if-not,用来测试表示式,其返回值为假,就会触发异常. self ...

  6. HTTPS通信原理

      https的实现原理https用到了多种加密算法来实现通信安全,其中两种基本的加解密算法类型解释如下:(1)对称加密:密钥只有一个,加密解密为同一个密码,且加解密速度快,典型的对称加密算法有DES ...

  7. Docker Swarm volume 数据持久化

    Docker Swarm volume 数据持久化 volume 是将宿主级的目录映射到容器中,以实现数据持久化. 可以用两种方式来实现: volume 默认模式:工作节点宿主机数据同步到容器内. v ...

  8. 谷歌技术"三宝"之MapReduce

    江湖传说永流传:谷歌技术有"三宝",GFS.MapReduce和大表(BigTable)! 谷歌在03到06年间连续发表了三篇很有影响力的文章,分别是03年SOSP的GFS,04年 ...

  9. kmp匹配详解

    字符串算法都是毒瘤的 一.kmp算法的用处 在文本串中查找模式串的位置,数量 文本串:要在这个字符串查找模式串 模式串:在文本串中查找的字符串 全是废话 二.kmp算法的思想 话说kmp好像是3个发明 ...

  10. 剑指offer(11)二进制中1的个数

    题目描述 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. 题目分析 首先我们要了解计算机中负数使用补码表示的,原码.补码的概念以及原理可以参考这里,这个题目我们应该从二进制入手,值得 ...