zoukankan      html  css  js  c++  java
  • git常用操作命令归纳

    git开始

    全局配置:配置用户名和e-mail地址

    $ git config --global user.name"Your Name"

    $ git config --global user.email"email@example.com"

    git init:初始化git仓库,目录下生成一个.git文件

    git init

    git add 文件名:将文件修改添加到仓库

    git add readme.txt //修改单个文件

    git add . // 将所有修改的文件添加到暂存区

    git commit -m '说明':将文件提交到仓库

    $ git commit -m "wrote a readme file"

    git status:查看当前仓库的状态,掌握工作区的状态

    git diff readme.txt: 查看文件修改的内容

    版本回退

    git log:查看历史记录

    git log --pretty=oneline:只查看commit.id(版本号) 和 说明

    git reset --hard HEAD^: 回退到上一个版本 HEAD表示当前版本,上一个是HEAD^,往上一百个是HEAD~100

    git reset --hard commit.id: 回到指定版本号对应的版本

    git reset --hard 1049a

    git reflog:用来记录你的每一个命令,以便确定回到哪个版本

    几个概念

    工作区(Working Directory):在电脑里的进行git操作的目录

    版本库(Repository):工作区里的.git文件,就是版本库,git版本库里最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。

    把文件往Git版本库里添加的时候,是分两步执行的:

    第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;

    第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。

    撤销修改

    撤销分为三种情况:

    第一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;(no add) ---> git checkout -- file

    第二种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。(no commit)---> git reset head file

    第三种是readme.txt已经commit了,就使用版本回退即可 ---> git reset --hard head^

    1、git checkout -- readme.txt:将制定文件在工作区的修改全部撤销

    注意:命令中的--很重要,没有--,就变成了“切换到另一个分支”的命令

    2、git reset:既可以回退版本,也可以把暂存区的修改回退到工作区

    在第二种情况下,我们就可以使用git reset命令撤回工作区

    git reset head readme.txt // head表示当前版本

    撤回工作区后再使用git checkout命令从工作区撤回

    删除文件

    git rm file:从版本库中删除文件

    误删的情况下可以使用版本库的版本’一键还原‘

    git checkout -- test.txt

    远程仓库

    git remote add origin github仓库地址:将本地仓库与远程仓库关联

    git push -u origin master: 由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。

    git push origin master: 将本地master分支的修改推送到远程仓库

    git clone github仓库地址:将远程仓库克隆到本地

    分支管理

    git branch dev:创建dev分支

    git checkout dev :切换dev分支

    git checkout -b dev:创建dev分支,并切换到dev分支。 -b参数表示创建并切换到dev分支

    git branch: 查看所有分支, *表示当前分支

    git merge dev: 合并指定分支到当前分支 。 结果中Fast-forward信息表示‘快进模式’ -->直接把master指向dev的当前提交,合并速度非常快

    git merge --no-ff -m '描述内容' dev :--no-ff参数表示禁用Fast-forward,使用普通模式

    git branch -d dev: 删除dev分支

    git branch -D dev: 如果分支还没合并,使用-d无法删除,使用-D强制删除

    git log --graph: 可以查看分支合并图。

    git log --graph --pretty=oneline --abbrev-commit :--pertty=oneline 查看简短信息 --abbrev-commit: 查看commit缩写

    场景:修复bug时创建分支

    git stash: 将当前工作现场存储起来

    git stash list :查看存储的工作现场列表

    git stash pop:恢复工作现场并删除stash的内容

    git remote: 查看远程仓库的信息

    git remote -v: 查看origin的地址

    git checkout -b dev origin/dev:在本地创建和远程分支对应的分支

    git pull:抓取最新的远程提交

    git branch --set-upstream-to=origin/dev dev: 建立本地分支和远程分支的关联

    git rebse: 把本地未push的分叉提交历史整理成直线

    标签管理

    git tag <tagname>: 用于创建一个新标签,默认指向head,也可以指向commi.id

    git tag: 用于查看所有标签

    git tag -a <tagname> -m '标签信息' :为标签指定信息

    git tag -d <tagname>: 删除本地标签

    git push origin <tagname> :推送本地标签到远程

    git push origin --tags: 推送全部未推送的本地标签到远程

    git push origin :refs/tags/<tagname>:删除一个远程标签

    自定义git

    git config --global alias.'自定义简写指令' '被简写的指令'

    git config --global alias.st statusgit config --global alias.co checkout

    命令行命令

    cat readme.txt: 查看文件内容

    rm file 删除文件

    vi file: linux里的vi编辑器

    (1)通过i键进入插入模式,可以修改文件

    (2)通过Esc键进入命令模式 输入':wq!' -->保存+退出vi 输入':q!' -->不保存退出

    链接:https://mp.weixin.qq.com/s/O4dJpG03lRgtki4xNHzYYw

  • 相关阅读:
    Viewpager的用法
    Android上下文菜单
    Android开机自启动程序
    微信小程序踩过的坑
    Sublime Text 配置python文件
    Pandas速查手册中文版
    scrapy架构设计分析
    爬虫服务集群处理nginx返回504
    phantomjs 无法打开https网站
    Selenium判断获取的元素是否可见(display:none)
  • 原文地址:https://www.cnblogs.com/clubs/p/11649237.html
Copyright © 2011-2022 走看看