博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Git常用命令
阅读量:6374 次
发布时间:2019-06-23

本文共 2704 字,大约阅读时间需要 9 分钟。

一般操作流程:工作区-(暂存区-本地库)--拉取更新本地-推送到远程库

一. 基本命令

  • git init 初始化一个Git仓库

  • git status 查看当前仓库状态

  • git log <具体id值/-1/–p> (-p具体修改了什么内容) 查看日志,以便确定要回退到哪个版本

  • git reflog 查看命令历史,以便确定回到未来的哪个版本

二. 增删改查

  • git add <文件/文件夹/.> (.代表添加所有文件) 添加到暂存区

  • git commit -m --amend追加修改 提交到本地库

  • git rm <文件> 删除文件

  • git reset 版本回退

//HEAD:指当前分支的最新提交点  //回退上一个版本 git reset --hard HEAD^   //回退到指定版本 git reset --hard 
复制代码
  • git checkout -- 撤销修改

    • 去掉"--"参数,则代表"切换分支"作用
    • 未add进暂存区时,直接撤销.
    • add进暂存区,未commit到本地库时,先取消添加( git reset HEAD ),再执行撤销.
    • 即add进暂存区,又提交到了本地库时,采用版本回退
  • git diff <文件> 查看修改内容

  • git diff HEAD -- <文件> 工作区和暂存区的比较

  • git diff HEAD --cached <文件> 暂存区和分支本地库的比较

三. 分支管理

HEAD:指当前分支的最新提交点

  • git show <branch-name/tag-name> 查看对应信息
  • git branch 查看分支
  • git branch 创建bn分支
  • git branch –d 删除bn分支
  • git branch –D 强制删除bn分支(用于删除一个没有合并的分支)
  • git checkout 切换bn分支
    • git checkout -b 创建并切换分支
  • git merge 合并分支到当前分支
    • git merge --no-ff –m“merge branch”
      • "--no-ff"禁用快速模式,这样分支历史上可以查看分支信息.
3.2 冲突标记方式

<<<<<< ======= >>>>>>>>

3.3 git flow 管理策略
  • master:稳定发布版本分支
  • dev:开发分支
  • feature:新功能开发分支,开发完合并到dev分支.
  • hotfix:修复紧急bug分支,修复完合并到master和dev.

四. 标签管理

与分支操作类似

  • git tag 查看所有标签
  • git tag 新建标签
    • 默认为HEAD,也可以指定一个commit id,如git tag
    • git tag -a -m "我是描述信息" 创建带有说明的标签
  • git push origin --tags 推送所有标签
  • git tag -d 删除本地标签
  • git push origin :refs/tags/ 删除远程标签.
    • tips:需要先删除本地标签

五. 远程仓库

5.1 仓库相关
  • git remote –v 查看有哪些远程仓库
  • git clone <仓库地址> 克隆某远程仓库

使用示例:

git clone git@github.com:jasonhww/test.git复制代码
  • git remote add <仓库名> <仓库地址> 本地仓库关联一个远程仓库

使用示例:

git remote add origin git@github.com: jasonhww /test.git/*如果一个本地库需要关联多个远程库,那么就用不同名称标识不同远程库地址. * *推送的时候就用对应的仓库名./git remote add github git@github.com: jasonhww /test.gitgit remote add  gitee git@gitee.com: jasonhww /test.gitgit push github mastergit push gitee master复制代码
  • git remote rm <仓库名> 移除远程仓库关联

使用示例:

git remote rm origin复制代码
5.2 分支相关
  • git push origin master 推送master分支到远程库

    • 第一次提交加上"-u"参数,不但推送本地分支并且还关联远程分支
  • git push origin dev 推送dev分支到远程库

  • git pull origin master 从远程库拉取master分支代码,合并到本地

  • git fetch origin master 远程库上的master分支代码拉取到本地,暂不合并(需要调用merge命令进行合并)

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

  • git branch --set-upstream origin/ 建立本地分支和远程分支的关联

5.3 Rebase
  • 优点是本地未push的分叉提交历史整理成直线
  • 缺点是本地的分叉提交已经被修改过了

六. 贮藏操作

  • git stash 藏匿 (当前分支所有没有 commit 的代码先暂存起来)
  • git stash list 查看藏匿记录
  • git stash clear 清空所有藏匿记录
  • git stash pop 还原并移除(等同以下两个操作)
    1. git stash apply 还原藏匿部分
    2. git stash drop 移除最近一条藏匿记录

七. 配置文件

配置文件为位置:

  1. 全局配置文件:在用户主目录下的一个隐藏文件.gitconfig中.
  2. 仓库的配置文件:在仓库所在目录的.git/config文件中.

配置邮箱语法

  • --global
  • --global user.email
* --global user.name jasonhww* --global user.email jasonhww@163.com复制代码

配置别名语法

  • --global alias.别名
git config --global alias.st statusgit config --global alias.unstage 'reset HEAD'复制代码

八. 忽略文件

添加.gitignore文件到版本库中.

九. 其他

一个GitHub允许可以添加多个Key, 但是一个key只能用于一个github账号. 此时需要通过配置文件配置多SSH的KEY对应不同github账号.

转载地址:http://jynqa.baihongyu.com/

你可能感兴趣的文章
消息 5070 在其他用户正式用数据库“”时无法更改数据库状态
查看>>
Mock方法介绍
查看>>
Rsync、Inotify-tools简介
查看>>
为何放弃Eclipse,最终转向IntelliJ
查看>>
Qt/Embedded开发环境的的搭建(二)
查看>>
关于Tomcat上请求的编解码问题
查看>>
WPF“动画序列”框架的初步研究与实现(附源码)
查看>>
Windows Server 2008 多元密码策略配置
查看>>
孙鑫老师教学视频学习笔记——单文档中实现画笔及画刷
查看>>
.NET中的泛型和Java泛型中的类型擦除
查看>>
20100925后续服务器终于折腾好了。
查看>>
Silverlight & Blend动画设计系列四:倾斜动画(SkewTransform)
查看>>
单IP无TMG拓扑Lync Server 2013:基础架构
查看>>
简单配置Oracle10g DataGuard物理备库
查看>>
[IE技巧] 如何禁止用户关闭IE浏览器
查看>>
mysql每天定时备份脚本
查看>>
IE8 视频
查看>>
被iBatis卡住了
查看>>
使用webpack打包ThinkPHP的资源文件
查看>>
烂泥:小灵呼语音系统迁移
查看>>