git学习 分支特殊处理和配置03
Bug分支:
- 当在一个分支上工作的时候;突然到其它分支修复bug,当前分支工作还没到要提交的程度;这时候可以使用git stash来将工作分支暂时存储起来;
- 用git stash list查看stash的列表
- 恢复:
- 一是用git stash apply恢复,但是恢复后,stash内容并不删除,需要用git stash drop来删除;
- 用git stash pop,恢复的同时把stash内容也删了
- 多次stash,恢复的时候,先用git stash list查看,然后恢复指定的stash
标签管理
- 发布一个版本时,通常先在版本库中打一个标签,以后就能取出那个时刻的历史版本;所以,标签也是版本库的一个快照。
- 标签其实就是指向某个commit的指针(跟分支很像,但是分支可以移动,标签不能移动)。
创建标签:git tag <name>
- 可以将标签打到历史提交上:`git tag commit_id
- 查看标签:
git tag - 查看标签信息:
git show <tagname> - 注意,标签不是按时间顺序列出,而是按字母排序的
- 默认标签是打在最新提交的commit上的; 用
git show就可以显示默认标签信息 - 还可以创建带有说明的标签,用-a指定标签名,-m指定说明文字:
删除标签:git tag -d <tagname>
- 创建的标签默认不会随commit推送到远程;
- 推送标签:
- 推送某个标签到远程:
git push origin <tagname> - 一次性推送全部尚未推送到远程的本地标签:git push origin --tags
- 推送某个标签到远程:
- 删除远程标签:
- 先从本地删除:git tag -d
- 然后,从远程删除: git push origin :refs/tags/
配置: git config
- 安装时的配置:
//注意用了`--global`参数表示这台机器上所有的Git仓库都会使用这个配置;当然也可以对某个仓库指定不同的用户名和Email地址。
git config --global user.name "Your Name"
git config --global user.email "email@example.com"
//删除
git config --unset --global user.name;
git config --unset --global user.email;
- 连接远程仓库配置
- 在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有
id_rsa和id_rsa.pub这两个文件; - 如果没有,创建SSH Key:`$ ssh-keygen -t rsa -C "youremail@example.com"`,然后.ssh目录中会生成
id_rsa和id_rsa.pub,后者用于其它地方的配置 - mac:
mmssh-keygen -p
- 在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有
- git自定义配置:
- 让Git显示颜色:
$ git config --global color.ui true
- 让Git显示颜色:
- .gitignore文件:
- 忽略操作系统自动生成的文件
- 忽略编译生成的中间文件、可执行文件等,也就是如果一个文件是通过另一个文件自动生成的,那自动生成的文件就没必要放进版本库;
- 忽略自己的带有敏感信息的配置文件,比如存放口令的配置文件。
- 配置别名:
- 如
git config --global alias.st status就将git status缩简为git st git config --global alias.unstage 'reset HEAD'; 即git unstage <file>->git reset HEAD <file>git config --global alias.last 'log -1'; 用git last就能显示最近一次的提交
- 如
- 配置Git的时候,加上--global是针对当前用户起作用的,如果不加,那只针对当前的仓库起作用。
* 每个仓库的Git配置文件都放在.git/config文件的[alias]后面;也可以在这里配置
[branch "master"]
remote = origin
merge = refs/heads/master
[alias]
last = log -1
- 而当前用户的Git配置文件放在用户主目录下的一个隐藏文件.gitconfig中:
可能git push失败的解决方法
Github seems only supports ssh way to read&write the repo, although https way also displayed 'Read&Write'.
So you need to change your repo config on your PC to ssh way:
1.edit .git/config file under your repo directory
2. find url=entry under section [remote "origin"]
3. change it from url=https://MichaelDrogalis@github.com/derekerdmann/lunch_call.git to url=ssh://git@github.com/derekerdmann/lunch_call.git. that is, change all the texts before @ symbol to ssh://git
4. Save config file and quit. now you could use git push origin master to sync your repo on GitHub
切远程分支
git stash: 缓存当前修改;git fetch origin [originname]: 获取远程:git checkout [originame]: 切换;git stash pop: 推出缓存;
修改git的编辑器
which vim
#retrun <path>
git config --global core.editor <path>
Git-rebase 误操作的恢复
git学习 分支特殊处理和配置03的更多相关文章
- 139.00.005 Git学习-分支管理
@(139 - Environment Settings | 环境配置) 一.Why? 分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交, ...
- Git学习 -- 分支管理
创建新分支,并切换到该分支 git checkout -b dev 这一句相当于以下两句: git branch dev 创建 git checkout dev 切换 查看当前分支 git branc ...
- git学习——分支
分支 创建分支:git branch 如:git branch testing Git通过HEAD指针知道用户是在哪一个分支上工作. 切换分支用git checkout命令,注意:可以用git sta ...
- Git学习笔记---协作的一般流程
一般的操作流程 1.pull 王小坤与另一个同事张大炮一起开发一个项目,张大炮昨天修改了数据库读写的api,优化了执行速度,并把read()函数改名成了Read(),下午下班之前把这些代码push到服 ...
- git 学习笔记 —— 获取远端分支并修改后提交至远端仓库
笔者最近进行开发过程中,所有参与者的代码需要通过 git 上传到远端仓库中,不同的模块对应不同的 git 分支,不同模块的数据需要从远端仓库中获取.这里记录下笔者从远端仓库中获取分支数据,进行修改,最 ...
- git学习之branch分支
作为新手,站在我的角度肤浅的来理解,分支就是相当于开辟了一个新的临时工作区,在这个工作区进行文件代码改动,然后在合并到master主工作区,这样能保证主工作区的安全性和稳定性,对于团队协作尤为重要. ...
- Git学习之路(6)- 分支操作
▓▓▓▓▓▓ 大致介绍 几乎所有的版本控制系统都会支持分支操作,分支可以让你在不影响开发主线的情况下,随心所欲的实现你的想法,但是在大多数的版本控制系统中,这个过程的效率是非常低的.就比如我在没有学习 ...
- 【学习总结】Git学习-参考廖雪峰老师教程六-分支管理
学习总结之Git学习-总 目录: 一.Git简介 二.安装Git 三.创建版本库 四.时光机穿梭 五.远程仓库 六.分支管理 七.标签管理 八.使用GitHub 九.使用码云 十.自定义Git 期末总 ...
- Git学习系列之Windows上安装Git之后的一些配置(图文详解)
不多说,直接上干货! 前面博客 Git学习系列之Windows上安装Git详细步骤(图文详解) 第一次使用Git时,需要对Git进行一些配置,以方便使用Git. 不过,这种配置工作只需要进行一次便可, ...
随机推荐
- mac系统下如何解压.car文件
纯手打: 1.去github下载demo然后运行 github地址:https://github.com/steventroughtonsmith/cartool 2.找到项目下cartool的位置 ...
- php与xpath使用操作文本节点
<?php $html="<p> 对于2014年,省统计局的统计分析显示,我省消费流通领域受诸多因素的影响,有机遇也有挑战.但值得注意的是,消费增长还存在不少制约因素,比如 ...
- IFC
IFC是设计师使用的软件,然后存储的格式. 这个适用于精细的设计.
- 3ds max不显示网格,转换为可编辑面片
按G就消失了,快捷键 F3/F4切换线框和面片模式的显示
- Java 回调机制的理解
// 在接口中声明一个处理耗时操作结果的回调方法. // Local 实现这个接口,实现处理耗时操作结果的回调方法. // Local 获得 Remote 对象,在子线程中调用 Remote 的处理耗 ...
- Swift - 2.3的代码到3.0的转变
分享一下学习新语法的技巧:用Xcode8打开自己的Swift2.3的项目,选择Edit->Convert->To Current Swift Syntax- 让Xcode帮我们把Swift ...
- LNMP平台搭建---Linux系统安装篇
在互联网网站开发领域,有一个名词,大家一定不陌生,那就是LAMP,经典的Web服务器环境,由Linux+Apache+MySQL+PHP组成,,后来,一个名叫Nginx的Web服务器开源出来了,因其更 ...
- NYOJ题目98成绩转换
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAsQAAAJhCAIAAADJ5jGJAAAgAElEQVR4nO3dq3LkSPg36O8mzH0hxn ...
- ASP.NET MVC使用Bundle来打包压缩js和css
Bundle它是用来将js和css进行压缩(多个文件可以打包成一个文件),并且可以区分调试和非调试,在调试时不进行压缩,以原始方式显示出来,以方便查找问题. 1.BundleConfig配置Bundl ...
- C#的yield关键字
using System; using System.Collections.Generic; using System.Reflection; using System.Text.RegularEx ...