git大百科
1,命令:
git忽略提交文件:git rm --cache .idea/workspace.xml
因为你已经把他加到tracked file里了 用
git rm --cached java/.idea/workspace.xml
把他移除 .gitignore这个文件是用于 untracked 文件的忽略列表
你用add将文件标记为 tracked 状态 .gitignore就对其无效了
2,如果您有新的远程git仓库,以前旧的废弃不用。 试用一下命令,将旧的git复制到新的git远端上。
cd old.git git push --mirror git@gitlab.com/****/new.git
再从新的git远端服务器上,拉取代码即可。
这种方法,新的git远端代码和旧的git远端代码,保持一致。包括所有的tags,branch。
3,同一台机器存在多个git账户。
比如:公司使用gitlab.*****.com 而自己使用 github。
配置config 目录:~/.ssh。 git默认是无config文件,自己新建一个 config。请看我的.ssh目录文件:
config id_rsa.pub id_rsa_penn.pub
id_rsa id_rsa_penn known_hosts
git使用 rsa来区分身份。 需新建"id_rsa_penn", 命名要区分区分"id_rsa"。 请看config文件:
Host gitlab.***.com
HostName gitlab.***.com
User git
IdentityFile ~/.ssh/id_rsa Host github.com
HostName github.com
User @qq.com
IdentityFile ~/.ssh/id_rsa_penn
git访问config,通过 不同的host,来找到对应的 IdentityFile,即rsa。
当你从github,clone,即选择的是id_rsa_penn。 而从公司gitlab.****.com,选择的是id_rsa。
好了,这样你可以提交代码了。
另外 你可能配置了全局的账户:
git config --global --add user.name "penn"
git config --global --add user.email "****.com"
而现在使用两个账户 so,全局global的 user就不可以使用了。 请使用当前库下的local user。
取消全局:
git config --global --unset user.name
git config --global --unset user.email
进入到你的 “git库”目录下:
git config --local --add user.name "公司/github"
git config --local --add user.email "公司/github"
3,git撤销commit
git reset --hard <commit_id>
git push origin HEAD --force
根据–soft –mixed –hard,会对working tree和index和HEAD进行重置:
git reset –mixed:此为默认方式,不带任何参数的git reset,即时这种方式,它回退到某个版本,只保留源码,回退commit和index信息
git reset –soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可
git reset –hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容。
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 ...
随机推荐
- 黄聪:mysql 存在该记录则更新,不存在则插入记录的sql
一条mysql教程 存在该记录则更新,不存在则插入记录的sql , ‘yourname') ON DUPLICATE KEY UPDATE auto_name='yourname' ON DUPLIC ...
- HTML 表单验证和事件
1.表单验证<form></form> (1).非空验证(去空格) (2).对比验证(跟一个值对比) (3).范围验证(根据一个范围进行判断) (4).固定格式验证:电话号码, ...
- 图片--android 图片占用内存与什么有关
原文链接:http://blog.csdn.net/zjl5211314/article/details/7041813 在开发手机应用的时候,内存是有限的,那使用的时候,就要合理的运用和释放. 那么 ...
- PHP批量替换MySql数据库中的数据内容(替换MySql数据库内容源码)
PHP批量替换MySql数据库内容 UTF-8 1.0版 <?php //声明 //1.本源码开发意图:作者在使用一些CMS建站的时候发现很多CMS把网址写入到数据库了,如果换网址,那么就需要更 ...
- 很好用的在线markdown编辑器
# 欢迎使用 Cmd Markdown 编辑阅读器 基本符号 *,-,+ 3个符号效果都一样,这3个符号被称为 Markdown符号 空白行表示另起一个段落 `是表示inline代码,tab是用来标记 ...
- 常用开源Jabber(XMPP) IM服务器介绍(转)
1. Openfire (Wildfire) 3.x授权: GPL or 商用操作系统平台:所有(使用Java开发)XMPP Jabber 协议实现情况:98%Tim 评价:安装和使用非常简单,安 ...
- 编写webpy程序,iep 报错,ulipad 运行正确
在web.py编程中,使用模板文件时,iep下会报错.ulipad不会报错. 用python 运行不报错. 在寻找答案.初步估计是iep的python运行环境有问题. 如图:
- Python的安装与基本语法
一,Python简介 Python是一种计算机程序设计语言,都是使用C语言实现,但是比C语言容易学习,易于阅读.Python可以应用于众多领域,整体呈上升趋势,广泛使用Python来做的事一 ...
- div 滚动定位代码
var thisheith; $(function () { var divid = '#14681-121320-197209'; $(di ...
- mssqlserver 查询数据库表结构语句
查询指定表结构的表名.列名.类型.说明.字段长度 select o.name as tableName,c.name as columnName,t.name as columnType,p.valu ...