git命令行的使用

0. 工作中常使用的命令行(小结)

  • 假设我们工作共同使用的开发分支为dev,我自己的开发分支为dev_cx。安装git,在工作文件夹下打开git bash。
  • $ git checkout dev_cx 确定在自己分支上
  • $ git add . 暂存修改
  • $ git commit -m "修改了xx模块的xxbug" 提交自己暂存的这些修改并写上说明文字
  • $ git checkout dev 切换到大家共同使用的开发分支dev上
  • $ git merge dev_cx 将自己修改的内容合并到dev分支上
  • $ git pull origin dev 拉取dev上别人提交的代码,可能会使用 :q退出当前页面
  • $ git push origin dev 将本地dev内容推送到远程
  • $ git checkout dev_cx 切换回自己的分支继续开发
  • $ git push origin dev_cx 有必要的话将自己的分支推送到远程

【注】详细内容查看1-10,来源:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

1. 设置用户名和邮箱

2. 创建版本库

  • $ mkdir chenxue 创建一个名称为chenxue的文件夹
  • $ cd chenxue
  • $ pwd 显示当前目录
  • $ git init 将这个目录变成git可以管理的仓库,当前目录下会出现一个.git目录,用来跟踪管理版本库,这个目录是默认隐藏的,不能随意更改。
  • 创建一个readme.txt文件
  • $ git add readme.txt 添加文件到仓库
  • $ git commit -m "本次提交说明" 将文件提交到仓库
  • $ git status 时刻掌握仓库当前的状态
  • $ git diff readme.txt 查看如何修改的readme.txt文件

3. 版本回退

  • $ git log 提交历史
  • $ git log --pretty=oneline 同上。相对显示信息少
  • $ git reset --hard HEAD^ 回退到上一个版本,在git中,使用HEAD表示当前版本,上一个版本就是HEAD,上上个版本就是HEAD^,往上100个版本写成HEAD~100
  • $ git reset --hard 2456546 命令行不关闭的话,找到未来版本号(前几位),即可指定回到未来的某个版本
  • $ git reflog 命令历史,可以找回之前的版本号
  • $ git diff HEAD -- readme.txt 查看工作区和版本库里面最新版本的区别

4. 撤销修改

  • $ git checkout -- reade.text 丢弃工作区的更改,回到最近一次git commit 或git add 的状态(注:两种情况,文件是否在暂存区)
  • $ cat readme.txt 读取文件内容
  • $ git reset HEAD readme.txt 将暂存区的文件换到工作区

5. 删除文件

  • $ rm readme.txt 删除文件 (1)确定删除的话:$ git rm file , $ git commit -m "" (2)不想删除的话:$ git check out -- file

6. 远程仓库

  • $ git push -u origin master 第一次提交,添加-u参数,之后就可以去掉-u参数
  • $ git clone "远程地址"
  • $ git checkout -b dev 创建并切换到dev分支,相当于$ git branch dev,$ git checkout dev
  • $ git branch 查看当前分支
  • $ git merge dev 合并指定分支到当前分支
  • $ git branch -d dev 删除dev分支
  • $ git log --graph 查看分支合并图

7. 分支管理策略

  • $ git merge --no-ff -m "说明" dev 禁用fast forward 模式提交。【注】合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。
  • 实际开发中原则:①master分支是非常稳定的,仅用来发布新版本。②工作一般在dev分支上
  • $ git stash 将修改的文件添加到暂存区。
  • $ git stash list 查看暂存区的内容
  • $ git stash pop 恢复暂存区的内容至工作区,相当于$ git stash apply ,$ git stash drop
  • $ git stash apply stash@{0} 工作去有多条暂存内容的时候,恢复指定的内容。
  • $ git branch -d dev_cx 删除
  • $ git branch -D dev_cx 强制删除(用于丢弃一个没有被合并过的分支)
  • $ git remote 查看远程库的信息 ,$ git remote -v 显示更详细的信息
  • $ git push origin dev 推送分支 【注】:若推送失败,因为远程分支比本地新,先用 $ git pull 试图合并。
  • $ git checkout -b dev_cx origin/dev 创建远程的dev分支到本地
  • $ git pull 抓取分支
  • $ git branch --set-upstream dev origin/dev 设置dev和origin/dev的链接。【注】:如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令$ git branch --set-upstream branch-name origin/branch-name。

8. 标签管理(tag)

  • 发布一个版本时,通常先在版本库中打一个标签(tag),这样,就唯一确定了打标签时刻的版本。将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来。所以,标签也是版本库的一个快照。
  • $ git tag v1.0 切换到需要打标签的分支上,使用此命令创建标签
  • $ git tag 查看所有标签
  • $ git log --pretty=oneline --abbrev-commit 查找历史提交的版本号
  • $ git tag v1.2 "版本号"
  • $ git show v1.2 查看标签信息
  • $ git tag -a v1.2 -m "1.2版本" "版本号" //创建带有说明的标签
  • $ git tag -d v1.2 删除未推送到远程的标签
  • $ git push origin v1.2 推送某个标签到远程
  • $ git push origin --tags 推送所有没有推送到远程的标签到远程
  • 【注】:若已推送到远程,先从本地删除,然后从远程删除,$ git tag -d v1.2, $ git push origin :refs/tags/v1.2

9. git配置项

  • $ git config --global color.ui true 让git显示颜色
  • .gitignore文件 检验.gitignore的标准是git status命令是不是说working directory clean
  • $ git check-ignore -v App.class 检查ignore规则是否写的有问题或者我们应该修改哪个规则
  • $ git config --global alias.st status 以后st就表示status

git命令的使用的更多相关文章

  1. Git初探--笔记整理和Git命令详解

    几个重要的概念 首先先明确几个概念: WorkPlace : 工作区 Index: 暂存区 Repository: 本地仓库/版本库 Remote: 远程仓库 当在Remote(如Github)上面c ...

  2. 工作中常用的git命令

    一 常用Git命令 git clone:(区分SSH or HTTP) git init:初始化仓库 二 Git命令详解 Git Bash下,cd /c git clone,从远程Git版本库克隆一份 ...

  3. 常用 Git 命令清单

    我每天使用 Git ,但是很多命令记不住. 一般来说,日常使用只要记住下图6个命令,就可以了.但是熟练使用,恐怕要记住60-100个命令. 下面是我整理的常用 Git 命令清单.几个专用名词的译名如下 ...

  4. 常look的Git命令

    常用的Git命令   命令  简要说明 git add 添加至暂存区 git add–interactive 交互式添加 git apply   应用补丁 git am  应用邮件格式补丁 git a ...

  5. ***Linux下使用git命令及github项目

    在linux下搭建git环境1.创建Github账号,https://github.com2.Linux创建SSH密钥: ssh-keygen  ##一直默认就可以了 3.将公钥加入到Github账户 ...

  6. 我所记录的git命令(非常实用)

    一.前言 记录一下工作中常用到的git命令,只是简单的笔记,欢迎大家交流... [ 顺便问下园友们,怎么感觉博客园发布的博客搜索有时都搜不到,后台编辑能填的都填写了,还是觉得搜索排名不高? 相同的标题 ...

  7. GIT命令行的使用

    新手了解 有不对的地方指点下 首先, 了解下什么是GIT,GIT是一款开元的分布式版本控制工具, 在世界上的所有分布式版本控制工具中,GIT是最简单,最流行,同时也是最常用的 相比于其他版本的控制工具 ...

  8. 简明 Git 命令速查表(中文版)

    原文引用地址:https://github.com/flyhigher139/Git-Cheat-Sheet/blob/master/Git%20Cheat%20Sheet-Zh.md在Github上 ...

  9. 常用 Git 命令清单 转

    我每天使用 Git ,但是很多命令记不住. 一般来说,日常使用只要记住下图6个命令,就可以了.但是熟练使用,恐怕要记住60-100个命令. 下面是我整理的常用 Git 命令清单.几个专用名词的译名如下 ...

  10. 日常开发使用GIT命令

    git是一种分布式的版本管理工具,现在我总结下日常使用的git命令 1)检出 git clone 地址 --检出代码 #这里的地址是代码池的地址,如Github或bitbucket 2)增加文件 gi ...

随机推荐

  1. 非对称加密技术- RSA算法数学原理分析

    非对称加密技术,在现在网络中,有非常广泛应用.加密技术更是数字货币的基础. 所谓非对称,就是指该算法需要一对密钥,使用其中一个(公钥)加密,则需要用另一个(私钥)才能解密. 但是对于其原理大部分同学应 ...

  2. Attribute在.NET编程中的应用(三)

    用于参数的Attribute 在编写多层应用程序的时候,你是否为每次要写大量类似的数据访问代码而感到枯燥无味?比如我们需要编写调用存储过程的代码,或者编写T_SQL代码,这些代码往往需要传递各种参数, ...

  3. Win10下Docker学习(1)安装

    Docker简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制, ...

  4. SSM 五:Spring核心概念

    第五章:Spring核心概念 一.Spring Ioc 优点: 1.低侵入式设计 2.独立于各种应用服务器 3.依赖注入特性将组建关系透明化,降低耦合度 4.面向切面编程的特性允许将通用性任务集中式处 ...

  5. 初始MyBatis

    初始MyBatis 框架的概念: 框架是一个提供可重复的功用结构的半成品.它为我们构建新的应用程序提供了极大的便利,一方面提供了可以拿来就用的工具,更重要的是提供了可重用的设计.D 框架技术的优势: ...

  6. mysql存储过程分库分表

    -- 存储过程创建库  分为两条语句删除和创建DELIMITER $$USE myplan $$DROP PROCEDURE IF EXISTS createDBN $$CREATE PROCEDUR ...

  7. [转载] 一致性hash算法释义

    转载自http://www.cnblogs.com/haippy/archive/2011/12/10/2282943.html 一致性Hash算法背景 一致性哈希算法在1997年由麻省理工学院的Ka ...

  8. java中“==”号的运用

    对于值类型,“==”号会判断其是否相等 对于引用类型,“==”对于引用类型则会判断引用(内存地址)是否相同,“==”运算只是调用了对象的equal()方法 public static void mai ...

  9. unique & lower_bound C++

    原来C++也有unique和lower_bound,只需头文件iostream unique unique可以对数组进行相邻元素的"去重",实现效果是把所有不重复的元素按顺序放在数 ...

  10. OPENCV3——从入门到出门

    跑第一个程序的时候经过坑爹的各种设置终于能用了. 如果遇到问题就谷歌或者百度,大牛的博客会给出解决方案的. vs2010+opencv3 目标:把书上的程序挨个敲一遍跑一遍. 现在已经跑了七章了,还有 ...