文档章节

GIT配置

土茯苓
 土茯苓
发布于 2016/09/17 14:22
字数 1208
阅读 15
收藏 1
Git
git config --global credential.helper store

强制使用线上版本:

git fetch --all
git reset --hard origin/develop
git pull

 

 

fatal: refusing to merge unrelated histories.  

git pull origin master --allow-unrelated-histories

 

设置 commit 的用户和邮箱

git config user.name "xx"               #设置 commit 的用户
git config user.email.com "xx@xx.com"   #设置 commit 的邮箱
git config format.pretty oneline        #显示历史记录时,每个提交的信息只显示一行

创建本地git,然后上传:

touch README.md //新建说明文件
git init //在当前项目目录中生成本地git管理,并建立一个隐藏.git目录
git add . //添加当前目录中的所有文件到索引
git commit -m "first commit" //提交到本地源码库,并附加提交注释
git remote add origin https://github.com/chape/test.git //添加到远程项目,别名为origin
git push -u origin master //把本地源码库push到github 别名为origin的远程项目中,确认提交

查看当前在哪一个远程仓库:

git remote -v

当向远程仓库更新文件时需要:

git fetch origin
git merge origin/master
git push -u origin master

获取分支代码:

git clone git@server-name:path/repo-name.git   #克隆远程仓库到本地(能看到master分支)
git checkout -b dev origin/dev  #创建远程origin的dev分支到本地,并命名为dev
git checkout origin/dev --track #与上面效果一样
git pull origin master          #从远程分支进行更新 
git fetch origin master         #获取远程分支上的数据

删除远程分支

git push origin --delete bugfix

查看历史

git log --pretty=oneline filename #一行显示
git log -p -2      #显示最近2次提交内容的差异
git show cb926e7   #查看某次修改

版本回退

git reset --hard HEAD^    #回退到上一个版本
git reset --hard cb926e7  #回退到具体某个版
git reflog                #查看命令历史,常用于帮助找回丢失掉的commit

用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^HEAD~100就是上100个版本。

管理修改

git status              #查看工作区、暂存区的状态
git checkout -- <file>  #丢弃工作区上某个文件的修改
git reset HEAD <file>   #丢弃暂存区上某个文件的修改,重新放回工作区

查看差异

git diff              #查看未暂存的文件更新 
git diff --cached     #查看已暂存文件的更新 
git diff HEAD -- readme.txt  #查看工作区和版本库里面最新版本的区别
git diff <source_branch> <target_branch>  #在合并改动之前,预览两个分支的差异

删除文件

git rm <file>           #直接删除文件
git rm --cached <file>  #删除文件暂存状态

储藏和恢复

git stash           #储藏当前工作
git stash list      #查看储藏的工作现场
git stash apply     #恢复工作现场,stash内容并不删除
git stash pop       #恢复工作现场,并删除stash内容

创建分支

git branch develop              #只创建分支
git checkout -b master develop  #创建并切换到 develop 分支

合并分支

git checkout master         #切换到主分支
git merge --no-ff develop   #把 develop 合并到 master 分支,no-ff 选项的作用是保留原分支记录
git branch -d develop       #删除 develop 分支

显示标签

git tag         #列出现有标签 
git show <tagname>  #显示标签信息

创建标签

git tag v0.1    #新建标签,默认位 HEAD
git tag v0.1 cb926e7  #对指定的 commit id 打标签
git tag -a v0.1 -m 'version 0.1 released'   #新建带注释标签
#推送标签到服务器
git checkout master
git pull origin master
git tag -a t.2.1.3 -m 'version t.2.1.3’
git push origin t.2.1.3:t.2.1.3

操作标签

git checkout <tagname>        #切换到标签

git push origin <tagname>     #推送分支到源上
git push origin --tags        #一次性推送全部尚未推送到远程的本地标签

git tag -d <tagname>          #删除标签
git push origin :refs/tags/<tagname>      #删除远程标签

撤销本地修改:

git checkout file-name

如果修改的都是java文件则可以:

git checkout *.java

撤销所有修改:

git checkout .

撤销之前的commit操作:

git revert HEAD                #  撤销前一次 commit
git revert HEAD^              # 撤销前前一次 commit
git revert commit-id    
#(比如:fa042ce57ebbe5bb9c8db709f719cec2c58ee7ff)撤销指定的版本,撤销也会作为一次提交进行保存。
#git revert是提交一个新的版本,将需要revert的版本的内容再反向修改回去,版本会递增,不影响之前提交的内容

Git提交到多个远程仓库

#输入:
git remote add origin git@git.oschina.net:sunney/kafka-demo.git
#再添加另一个:
git remote set-url --add origin git@git.oschina.net:sunney/kafka-demo.git
#提交
git push origin --all
#查看 origin
git remote -v

经常需要将某个分支的文件打包发送,而且是干净的(不带版本控制信息),下面的语句很重要哦

#就能在当前目录下,将 2.0.0-20170806 分支的内容,导出为 2.0.0-20170806.zip 压缩文件。
git archive --format zip --output "./2.0.0-20170806.zip" 2.0.0-20170806

 

 

© 著作权归作者所有

土茯苓
粉丝 32
博文 174
码字总数 198222
作品 0
朝阳
高级程序员
私信 提问
Git基础入门(二)Git安装和配置

sudo apt-get install git #安装Git(ubuntu) git clone git://git.kernel.org/pub/scm/git/git.git #更新Git 初次运行Git前的配置: Git自带一个git config的工具来帮助设置控制Git外观和行为...

红尘世间
2017/10/23
0
0
Git运行前的配置

一、运行前的配置了解 Git 的运行环境每台计算机上只需要配置一次,程序升级时会保留配置信息。你可以在任何时候再次通过运行命令来修改它们 Git 自带一个 的工具来帮助设置控制 Git 外观和行...

树上的风筝
2016/05/02
56
0
STM32开发 -- Gerrit的详细使用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_29350001/article/details/87004721 一、gerrit简介 参看:维基百科 - Gerrit Gerrit,一种开放源代码的代...

聚优致成
02/11
0
0
【git配置】配置详解&快捷命令(自定义短命令)

查看配置 git config 查看所有的设置 查看配置 git config -l ,选项参数 --system: 系统配置(所有git账户) --global: 全局配置(一个用户) --local: 项目[本地]配置(一个项目), 或者叫仓...

echojson
03/24
0
0
git config 配置

1. git config简介 我们知道config是配置的意思,那么git config命令就是对git进行一些配置。而配置一般都是写在配置文件里面,那么git的配置文件在哪里呢?互动一下,先问下大家。 你们所知...

钱天兵
2016/01/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

将博客搬至CSDN

https://blog.csdn.net/qq_38157006

Marhal
15分钟前
1
0
unicode Java中求字符串长度length()和codePointCount()的区别

在计算字符串长度时,Java的两种方法length()和codePointCount()一度让我困惑,运行书上例子得到的长度值是相等的,那为什么要设定两个方法呢? 对于普通字符串,这两种方法得到的值是一样的...

泉天下
16分钟前
2
0
uin-app 一、学习理由

选择uni-app 理由 别人的理由 1. 5+ 有HTML5+和Native.js技术,HTML5+包含常用的跨平台的几百个API,能满足常规开发需求,而Native.js把40w原生api映 射成js对象,这样js可以直接调原生。HTM...

轻轻的往前走
18分钟前
1
0
方括号及其在命令行中的不同用法介绍

通配 方括号最简单的用法就是通配。你可能在知道“ Globbing”这个概念之前就已经通过通配来匹配内容了,列出具有相同特征的多个文件就是一个很常见的场景,例如列出所有 JPEG 文件: ls *.j...

Linux就该这么学
23分钟前
1
0
vecty 基础

gopherjs 是把 go 编译为 js 的工具。 vecty 是基于 gopherjs 的一种类似 React 的开发框架。 安装 gopherjs 和 vecty go get -u github.com/gopherjs/gopherjsgo get -u github.com/gopher......

electricface
24分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部