1、git是什么

git是分布式版本管理工具,一台电脑既可以是客户端,也可以是服务端。工作过程中可以断开网络。

git中的三个概念:

1、版本库:在初始化git版本库之后会生成一个隐藏的文件, .git可以将该文件理解为git的版本库repository;

2、工作区:项目目录;

3、暂存区:.git目录中的index文件就是暂存区,同时,git还为我们自动生成一个master分支以及指向该分支的指针head在.git文件夹中。

git命令行使用

1.1 git init  创建版本库 (创建本地版本库)

1.2 git add  filename 提交到版本库暂存区

1.3 git commit -m '注释' 将暂存区提交到版本库

1.4 git log 查看版本库提交历史(可以查询commit提交版本号)

1.5 git reset --hard HEAD^ 版本回退 首先,Git必须知道当前版本是哪个版本,在Git中,用`HEAD`表示当前版本,也就是最新的提交`1094adb...`(注意我的提交ID和你的肯定不一样),上一个版本就是`HEAD^`,上上一个版本就是`HEAD^^`,当然往上100个版本写100个`^`比较容易数不过来,所以写成`HEAD~100`。

1.6 git reset --hard  <commit it> 版本回退, <commit it> 指定版本号

1.7 git reflog 查询命令历史

2 工作区和暂存区

​ 2.1 每次修改,如果不用`git add`到暂存区,那就不会加入到`commit`中。

​ 2.2 git status 查看工作区和暂存区的状态信息

​ 2.3 git checkout -- file 工作区的撤销修改 (没有-- 就表示切换到分支了)

​ 2.4 git reset HEAD <file>暂存区的修改撤销掉,重新放回工作区

​ 2.5 git rm <file> 删除文件 然后commit提交

3 远程仓库

3.1​ git remote add origin git@github.com:zjhlovewtr/test.git 版本仓库与本地仓库进行关联

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

3.3​ git push origin master 修改后推送

​ 3.4 git clone git@github.com:zjhlovewtr/test.git 从远程仓库克隆一个仓库到本地(不需要git init操作)

4 git 分支

​ git branch <branchName> 创建分支

​ git checkout <branchName>切换分支

​ git merge <branchName> 合并分支(branch name为目标分支)

​ git branch -d <branchNanme> 删除分支

​ git checkout -b <branchNanme>创建+切换分支

5 冲突解决

​ 先文件修改

​ 然后git add <fileName>

​ 然后git commit -m '分支修改'

​ 最后在合并

git merge --no-ff -m "merge with no-ff" dev 普通分支合并 请注意`--no-ff`参数,表示禁用`Fast forward`:

​ bug 分支

​ git stash 保留修改现场情况

​ git stash list 查询工作现场情况

​ `git stash apply`恢复,但是恢复后,stash内容并不删除,你需要用`git stash drop`来删除;

​ git stash pop 恢复的同时把stash内容也删了

6 标签管理

​ git tag v1.0 创建标签

​ git tag 查询所有标签

​ `git push origin <tagname>`可以推送一个本地标签;

​ `git push origin --tags`可以推送全部未推送过的本地标签;

​ `git tag -d <tagname>`可以删除一个本地标签;

​ `git push origin :refs/tags/<tagname>`可以删除一个远程标签。

git 工具常见命令的更多相关文章

  1. 【Git】Git工具常用命令

    GitHub使用指南 一.把本地代码上传到GitHub 0. 提前配置好上传地址 [git config --global user.name "username"] [git c ...

  2. GIT非常见命令使用笔记

    1:修改已经提交N次代码的user.name和user.email 解决我在多电脑间,使用不同账户,git config 的global,system,local配置忽略改动,而添加了多台电脑ssh ...

  3. 如何禁用/关闭vs2017自带的Git工具的?

    对于用习惯了独立Git工具和命令行的人来说,看到Visual Studio自带的Git工具后,很是别扭,到处充满了不习惯,而且是不是还会出现电脑卡顿的现象(可能是我自身电脑配置一般的问题). 如何关闭 ...

  4. git中常见的几个命令

    git中常见的几个命令 本地仓库 三个区域 工作目录 暂存区 本地仓库 文件的四个状态 未跟踪 untracked 已暂存 staged 已提交commited 已修改 modified 基本命令 g ...

  5. Git常见命令整理

    Git常见命令整理 + 注释 git init # 初始化本地git仓库(创建新仓库) git config --global user.name "xxx" # 配置用户名 gi ...

  6. git笔记(2)-常见命令的使用(详解待续)

    1. 常用命令 (1)git --help 帮助命令,其他的类似 (2)git branch 查看分支及其他(创建分支,查看远程分支名称等) (3)git checkout 切换分支以及其他 (3)g ...

  7. Git 分布式版本控制的常见命令

    Git 的作用:  (1)方便多人协同开发; (2)方便版本控制 Git 分布式版本控制的主要区域及命令图,下面会详细讲解: 创建项目并将切换至项目目录下 1. 创建本地仓库:  git init  ...

  8. Git复习(十一)之常见命令用法

    创建版本库 git init 进入一个文件,执行该命令此时目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了. ...

  9. 工具系列 | git checkout 可替换命令 git switch 和 git restore

    前言 git checkout 这个命令承担了太多职责,既被用来切换分支,又被用来恢复工作区文件,对用户造成了很大的认知负担. Git社区发布了Git的新版本2.23.在该版本中,有一个特性非常引人瞩 ...

随机推荐

  1. 一次 utf-8 bom引起的问题

    同事代码新增加了功能,推到服务器上,意外导致登录失败,回退到之前的版本上,可以正常使用. 这次只上传了 route.php 文件,系统登录失败. 随后使用kdiff3对比了两版本的route.php文 ...

  2. WPF学习笔记五之MVVM

    1.概念 MVVM是Model-View-ViewModel的缩写形式,它通常被用于WPF或Silverlight开发.这三者之间的关系如下图所示 模型(Model) Model——可以理解为带有字段 ...

  3. Java基础小知识(一)

     序言:“不积跬步,无以至千里.不积小流,无以成江海.”每一个庞大的知识架构都是由无数个小知识点慢慢积累起来的,没有量变的积累,就没有质变上的飞跃,成功往往离不开积累. 今天就和大家分享一些我在学习J ...

  4. TCP/IP详解,卷1:协议--RARP:逆地址解析协议

    引言 具有本地磁盘的系统引导时,一般是从磁盘上的配置文件中读取 I P地址.但是无盘机, 如X终端或无盘工作站,则需要采用其他方法来获得 I P地址. 网络上的每个系统都具有唯一的硬件地址,它是由网络 ...

  5. 【算法学习记录-排序题】【PAT A1016】Phone Bills

    A long-distance telephone company charges its customers by the following rules: Making a long-distan ...

  6. CAN总线冲突裁决

    当总线上的几个器件同时发送数据的时候,CAN总线必须决定哪个器件可以发送,而其他的器件必须等待.冲突裁决是CAN协议最重要的一个特性. 以下图为例.总线上有器件A,B,C,D.A,B,C同时发出SOF ...

  7. Django框架中auth模块的详解

    auth模块 auth模块是对登录认证方法的一种封装,本身就是一个对象,可以获取用户的详细信息,有了auth模块可以验证登录信息是否存在数据库中,还可以检验用户是否已经登录,校验密码等 auth方法 ...

  8. myeclipse2017配置tomcat7.0

    具体配置参考这篇博客:https://www.cnblogs.com/alibaba-inc/p/9249135.html 期间可能会碰到这样一个问题,"The server does no ...

  9. 配置SSH使用密钥认证:实现免输入密码登陆

    一.实际工作生产场景分析 张三是某公司员工,由于业务上的需求,需要经常使用SSH工具登陆服务器A的root账户进行操作,为避免重复进行密码验证身份.现采用张山的公钥发送给服务器A,免输入密码登陆到服务 ...

  10. Custom LED Keychain, Small And Surefire Gifts

    The    LED Keychain    makes it easy for people to carry their keys with them and carry them with th ...