Git实际使用
初始化
git init
— cd到目录,初始化仓库
git init name
— 新建文件,并初始化仓库
.gitignore
— 忽略文件(https://github.com/github/gitignore)
git config —global credential helper store
— 记录提交的密码进行缓存
------------------------------------------------------------------------------------------------------------
远程仓库
git remote -v
-- 查看所有远程仓库
git remote
--
------------------------------------------------------------------------------------------------------------
重命名
git mv oldname newname
— 重命名文件
mv oldname newname
git add .
— 重命名文件 ,新增至暂存区
------------------------------------------------------------------------------------------------------------
日志
git log --all
— 所有分支日志
git log -p -2 dev
— dev 分支最新提交日志 对比信息
git log --stat
— 简要信息
git log --pretty=oneline
— 显示成一行
git log -n4
— 当前分支就近的4个
git log --all -n4
— 所有分支的就近的4个
git log -n4 dev
— dev 分支下的就近4个
git log --oneline
— 简洁日志
git log --graph
— 图形化入日志
gitk
— 图形化工具
------------------------------------------------------------------------------------------------------------
暂存区
git add 文件
— 文件添加至缓存区
git add .
— 新建的文件、修改的文件、删除的文件,添加至缓存区
git add -u
— 将已跟踪的文件(修改、删除),添加至缓存区
git add -A
git add -all
git add -a
— 新建的文件、修改的文件、删除的文件,添加至缓存区

------------------------------------------------------------------------------------------------------------
分支
git branch -a
— 查看本地分支情况,远程分支情况
git branch -av
— 查看本地分支 以及相互关系
git checkout branchName
— 切换分支
git checkout -b newBranch
— 从当前本地分支 创建分支,并切换到新分支
— 复制当前分支,命名为 newBranch
git checkout -b newBranch otigin/branch
— 从远程分支检出到新分支
git branch -d <branchname>
— 删除分支
git branch -D <branchname>
— 强制删除分支
git ls-remote
— 远程分支信息
------------------------------------------------------------------------------------------------------------
提交
git commit -m "备注"
— 提交到待推送区域
git commit -am "备注"
— 添加到暂存区,并提交到待推送区域
git commit --amend
— 修改当前分支,最近一次提交的备注
------------------------------------------------------------------------------------------------------------
比较
git diff --catch
— 暂存区 和 HEAD比较
gti diff
— 工作区 和 暂存区 比较
git diff HEAD
— 工作区 和 HEAD比较
------------------------------------------------------------------------------------------------------------
撤销
git reset --hard
— 暂存区、工作区 恢复成 HEAD
git reset --hard 23ur9wi
— HEAD 指向这个commit,同时 缓存区、工作区内容也恢复到这个commit
git reset HEAD
— 缓存区与HEAD一样
git checkout .
— 工作区 与 缓存区一样
git checkout HEAD .
— 工作区、缓存区 和 HEAD一样
git checkout HEAD <filename>
— 检出当前分支提交的最新版本
— 覆盖 暂存区,即撤销暂存区
— 覆盖 工作区,撤销修改
------------------------------------------------------------------------------------------------------------
删除
git rm 文件 --hard HEAD
— 删除文件,工作区和缓存区恢复到HEAD
git rm --cached <firename>
— 删除 已提交的跟踪文件
------------------------------------------------------------------------------------------------------------
打标签
------------------------------------------------------------------------------------------------------------
分离头指针
根据某一个 commit 检出
现在就处于分离头指针的情况下,HEAD -> commit
Git实际使用的更多相关文章
- Git 子模块 - submodule
有种情况我们经常会遇到:某个工作中的项目需要包含并使用另一个项目. 也许是第三方库,或者你 独立开发的,用于多个父项目的库. 现在问题来了:你想要把它们当做两个独立的项目,同时又想在 一个项目中使用另 ...
- Git 在团队中的最佳实践--如何正确使用Git Flow
我们已经从SVN 切换到Git很多年了,现在几乎所有的项目都在使用Github管理, 本篇文章讲一下为什么使用Git, 以及如何在团队中正确使用. Git的优点 Git的优点很多,但是这里只列出我认为 ...
- Git与Repo入门
版本控制 版本控制是什么已不用在说了,就是记录我们对文件.目录或工程等的修改历史,方便查看更改历史,备份以便恢复以前的版本,多人协作... 一.原始版本控制 最原始的版本控制是纯手工的版本控制:修改文 ...
- Git Bash的一些命令和配置
查看git版本号: git --version 如果是第一次使用Git,你需要设置署名和邮箱: $ git config --global user.name "用户名" $ gi ...
- 在Ubuntu 16.10 安装 git 并上传代码至 git.oschina.net
1. 注册一个账号和创建项目 先在git.oschina.net上注册一个账号和新建一个project ,如project name 是"myTest". 2.安装git sudo ...
- 史上最详细git教程
题外话 虽然这个标题很惊悚,不过还是把你骗进来了,哈哈-各位看官不要着急,耐心往下看 Git是什么 Git是目前世界上最先进的分布式版本控制系统. SVN与Git的最主要的区别 SVN是集中式版本控制 ...
- [版本控制之道] Git 常用的命令总结(欢迎收藏备用)
坚持每天学习,坚持每天复习,技术永远学不完,自己永远要前进 总结日常开发生产中常用的Git版本控制命令 ------------------------------main-------------- ...
- 【解决方案】Myeclipse 10 安装 GIT 插件 集成 步骤 图解
工程开发中,往往要使用到集成GIT ,那么下面说说插件安装步骤 PS:以Myeclipse 10 为例,讲解集成安装步骤. ----------------------main------------ ...
- git 命令
切换仓库地址: git remote set-url origin xxx.git切换分支:git checkout name撤销修改:git checkout -- file删除文件:git rm ...
- git亲测命令
一.Git新建本地分支与远程分支关联问题 git checkout -b branch_name origin/branch_name 或者 git branch --set-upstream bra ...
随机推荐
- linux 安装 PHP fileinfo 扩展
将windows解压Linux服务器 1.错误: PHP Fileinfo extension must be installed/enabled to use Intervention Image. ...
- php对接微信小程序支付
前言:这里我就假装你已经注册了微信小程序,并且基本的配置都已经好了.注: 个人注册小程序不支持微信支付,所以我还是假装你是企业或者个体工商户的微信小程序,其他的商户号注册,二者绑定,授权,支付开通,就 ...
- iOS推送:Java服务器端发送表情(绘文字)
http://blog.csdn.net/musou_ldns/article/details/8692520 功能的时候,客户要求能够给iphone发送表情图标,也就是绘文字. 手机环境:iOS5. ...
- linux下安装python3.6.4
想在阿里云端装一个 python36,因为自带的python2有点老 ,(centos系统) 当然你如果选择的乌班图系统的话就自带了python3,就不用看了 于是查找资料,但是一步一步的来总是不行, ...
- Nginx从听说到学会
第一章 Nginx简介 Nginx是什么 没有听过Nginx?那么一定听过它的"同行"Apache吧!Nginx同Apache一样都是一种WEB服务器.基于REST架构风格,以统一 ...
- pytesser3 使用说明
需要环境 Python3.x以上 需要安装PIL以及tesseract-ocr引擎.点我下载tesseract-ocr引擎 如何使用 1. pip install pytesser3 如图: [可 ...
- java.util.ConcurrentModificationException异常的解决
问题复现: List<String> list = new ArrayList<>();list.add("11");list.add("55&q ...
- 1.2 lambda 表达式的语法
1.2 lambda 表达式的语法 还以上一节中的排序为例.我们传递代码来检查某个字符串的长度是否小于另一个字符串的长度,如下所示: Integer.compare(first.length(), s ...
- 排序1,2......n的无序数组,时间复杂度为o(n),空间复杂度为o(1)
#include "stdafx.h" #include <iostream> using namespace std; int _tmain(int argc, _T ...
- BZOJ_4636_蒟蒻的数列_线段树+动态开点
BZOJ_4636_蒟蒻的数列_线段树+动态开点 Description 蒟蒻DCrusher不仅喜欢玩扑克,还喜欢研究数列 题目描述 DCrusher有一个数列,初始值均为0,他进行N次操作,每次将 ...