Git基本操作

git init 创建新的git仓库

git clone [url] 使用 git clone 拷贝一个 Git 仓库到本地

git status 查看工作区

git stash list 查看工作区列表

git diff 来查看git status 的结果的详情信息,尚未缓存的改动

git diff --cached 查看已缓存的改动
git diff HEAD 查看已缓存的与未缓存的所有改动

git diff --stat 显示摘要而非整个diff

git commit 将缓存区中的内容添加到仓库中(跳过了git add)

git commit -a  缓存并提交到仓库

git commit -m '本次提交描述' 提交并添加描述

git reset HEAD 用于取消缓存的内容

git rm <file> 删除文件

git rm -f <file> 删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -f

git rm --cached <file> 把文件从暂存区域移除,但仍然希望保留在当前工作目录中

git rm –r * 可以递归删除,即如果后面跟的是一个目录做为参数,则会递归删除整个目录中的所有子目录和文件

git mv 用于移动或者重命名一个文件、目录、软连接

git config --global alias.别名 原名     设置命令别名

--global参数是全局参数,也就是这些命令在这台电脑的所有Git仓库下都有用。

分支管理

查看分支:git branch

创建分支:git branch <name>

切换分支:git checkout <name>

创建+切换分支:git checkout -b <name>

合并某分支到当前分支:git merge <name>

删除分支:git branch -d <name>

强行删除分支:git branch -D  <name>

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

查看提交历史

git log 查看log

git log --oneline 用 --oneline 选项来查看历史记录的简洁的版本。

git log --oneline --graph   用 --graph 选项,查看历史中什么时候出现了分支、合并

git log --reverse --oneline 用 '--reverse'参数来逆向显示所有日志

git log --author=用户名 --oneline -5

git log --oneline --before={3.weeks.ago} --after={2010-04-18} --no-merges 要指定日期,可以执行几个选项:--since 和 --before,但是你也可以用 --until 和 --after。

标签

it tag -a v1.0 希望永远记住那个特别的提交快照,你可以使用 git tag 给它打上标签。-a 选项意为"创建一个带注解的标签,不用 -a 选项也可以执行的,v1.0是标签

git log --decorate 查看标签

git tag -a v0.9 85fc7e7 追加标签(85fc7e7 为commit id;)

git tag 查看所有标签

git show <tagname> 查看标签信息

git tag -a <tagname> -m "标签信息"    指定标签信息
git tag -s <tagname> -m "标签"   PGP签名标签命令:

git tag -d <name> 删除标签

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

命令git push origin --tags可以推送全部未推送过的本地标签

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

远程仓库

git remote add [shortname] [url] 添加一个新的远程仓库,可以指定一个简单的名字,以便将来引用

git remote  查看当前配置有哪些远程仓库
git remote -v 查看当前配置有哪些远程仓库,并显示每个别名的实际链接地址

git fetch 从远程仓库下载新分支与数据

git merge 从远端仓库提取数据并尝试合并到当前分支

git push [alias] [branch]   推送你的新分支与数据到某个远端仓库命令:将你的 [branch] 分支推送成为 [alias] 远程仓库上的 [branch] 分支,本地新建的分支如果不推送到远程,对其他人就是不可见的

git remote rm [别名]  删除远程仓库

git pull:是从远程获取最新版本到本地,并自动merge;

多人协作的工作模式通常是这样:

1首先,可以试图用git push origin <branch-name>推送自己的修改;

2如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;

3如果合并有冲突,则解决冲突,并在本地提交;

4没有冲突或者解决掉冲突后,再用git push origin <branch-name>推送就能成功!

如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to <branch-name> origin/<branch-name>。

恢复储藏起来的工作区

git stash可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作

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

一种方式是用git stash pop,恢复的同时把stash内容也删了:

Git 与 SVN 区别

1、GIT是分布式的,SVN不是:这是GIT和其它非分布式的版本控制系统,例如SVN,CVS等,最核心的区别。

2、GIT把内容按元数据方式存储,而SVN是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似.svn,.cvs等的文件夹里。

3、GIT分支和SVN的分支不同:分支在SVN中一点不特别,就是版本库中的另外的一个目录。

4、GIT没有一个全局的版本号,而SVN有:目前为止这是跟SVN相比GIT缺少的最大的一个特征。

5、GIT的内容完整性要优于SVN:GIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。

git commit、git push、git pull、 git fetch、git merge 的含义与区别

  • git commit:是将本地修改过的文件提交到本地库中;
  • git push:是将本地库中的最新信息发送给远程库;
  • git pull:是从远程获取最新版本到本地,并自动merge;
  • git fetch:是从远程获取最新版本到本地,不会自动merge;
  • git merge:是用于从指定的commit(s)合并到当前分支,用来合并两个分支;

git服务器搭建 : https://www.cnblogs.com/houss/p/10530751.html
git windows安装 :https://gitforwindows.org/

git常用命令及问题的更多相关文章

  1. git常用命令(持续更新中)

    git常用命令(持续更新中) 本地仓库操作git int                                 初始化本地仓库git add .                       ...

  2. Git 常用命令详解

    Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:linux kernel),管理私人的文档和源代码也有很多优势(如:wsi-lgame-pro) Git 的更多介绍 ...

  3. Git 常用命令大全

    Git常用操作命令: 1) 远程仓库相关命令 检出仓库:$ git clone git://github.com/jquery/jquery.git 查看远程仓库:$ git remote -v 添加 ...

  4. Git常用命令总结

    Git常用命令总结 git init      在本地新建一个repo,进入一个项目目录,执行git init,会初始化一个repo,并在当前文件夹下创建一个.git文件夹.   git clone ...

  5. GIT常用命令备忘

    Git配置 git config --global user.name "storm" git config --global user.email "stormzhan ...

  6. Git 常用命令2

    Git 常用命令 Git 是一个很强大的分布式版本控制系统.它不但适用于管理大型开源软件的源代码,管理私人的文档和源代码也有很多优势. Git常用操作命令: 1) 远程仓库相关命令 检出仓库:$ gi ...

  7. git常用命令-基本操作

    git常用命令-基本操作 1)      新增文件 新增了Test_1.java git add Test_1.java git commit –m “新增了Test_1.java” git push ...

  8. 转收藏:Git常用命令速查表

    一. Git 常用命令速查 git branch 查看本地所有分支git status 查看当前状态 git commit 提交 git branch -a 查看所有的分支git branch -r ...

  9. git常用命令,git版本控制和Xcode结合使用,用Xcode提交到github,github客户端使用

    1.git常用命令 查看命令: 1.git --help 查看git所有命令 2.git clone -help 查看git clone命令的细节 3.git config -l   查看当前所有配置 ...

  10. Git 常用命令详解(二)

    Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:linux kernel),管理私人的文档和源代码也有很多优势(如:wsi-lgame-pro) Git 的更多介绍 ...

随机推荐

  1. DESUtil

    package com.tebon.ams.util;import sun.misc.BASE64Decoder;import javax.crypto.Cipher;import javax.cry ...

  2. Swift可选类型

    可选类型 可选类型的介绍 注意: 可选类型时swift中较理解的一个知识点 暂时先了解,多利用Xcode的提示来使用 随着学习的深入,慢慢理解其中的原理和好处 概念: 在OC开发中,如果一个变量暂停不 ...

  3. 使用@WebServlet等注解需要i注意的

    Servlet 3.0 的部署描述文件 web.xml 的顶层标签 <web-app> 有一个 metadata-complete 属性,该属性指定当前的部署描述文件是否是完全的.如果设置 ...

  4. Docker私有仓库与Harbor部署使用

    Docker私有仓库与Harbor部署使用 目录 Docker私有仓库与Harbor部署使用 一.本地私有仓库 1. 下载registry镜像 2. 在daemon.json文件中添加私有镜像仓库地址 ...

  5. Nvicat for mysql连接腾讯云数据库TDSQL-C(原CynosDB)

    连接步骤 1.打开腾讯云TDSQL-C(原CynosDB)集群详情中的中的集群连接外网地址,如下图 2.云数据库的账号密码在这里找,第一次不知道密码可以重置密码 3.以root账户为例,打开navic ...

  6. find 查询命令 & 正则表达式

    今日内容 find 正则表达式 Linux 三剑客之 grep 内容详细 一.find 按名称或属性查询文件 按名称查询 find [查找目录] [参数] [] 通配符 : * 表示匹配多个字符 ? ...

  7. Vue2.0源码学习(3) - 组件的创建和patch过程

    组件化 组件化是vue的另一个核心思想,所谓的组件化就,就是说把页面拆分成多个组件(component),每个组件依赖的css.js.图片等资源放在一起开发和维护.组件是资源独立的,在内部系统中是可以 ...

  8. Dubbo基础三之配置方式简述

    Dubbo基础一之实战初体验 - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)中,体验了两种配置方式一种注解一种xml.其中xml是在注解配置失败没有找到解决方法后选择xml替代体验的.那 ...

  9. java中的运算符介绍

    运算符&和&&的区别&运算符有两种用法:(1)按位与:(2)逻辑与. &&运算符是短路与运算.逻辑与跟短路与的差别是非常巨大的,虽然二者都要求运算符左右 ...

  10. spring循环依赖的产生与解决

    1.循环依赖的产生 在spring中对象默认都是单例的 ,意味整个容器中只有一个该类的对象. 如图,B类有一个属性a,A类有一个属性b.当B类创建对象时,要给a属性赋值:当A类创建对象时,要给b属性赋 ...