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 ...
随机推荐
- 转_IOS开源
http://www.csdn.net/article/2013-06-05/2815530-GitHub-iOS-open-source-projects-one 苹果App Store本身所具有的 ...
- CentOS 6.5 网络配置(转载)
From:http://blog.csdn.net/leave00608/article/details/19814063 1.配置网卡IP地址 vim /etc/sysconfig/network- ...
- Python进阶05 循环设计
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在"循环"一节,我们已经讨论了Python基本的循环语法.这一 ...
- 更新nvm
在官方看到这个文档 ( cd "$NVM_DIR" git fetch origin git checkout `git describe --abbrev=0 --tags -- ...
- How to control PrincipalObjectAccess table growth in Microsoft Dynamics CRM 2011
https://support.microsoft.com/en-us/kb/2664150 How to control PrincipalObjectAccess table growth in ...
- C# String.Format大全 去 decimal 后面的 0
转 http://kwon.iteye.com/blog/1068255 http://blog.csdn.net/tvvbbb/article/details/47256943 public st ...
- Codeforces 611d [DP][字符串]
/* 题意:给一个长度不超过5000的字符串,每个字符都是0到9的数字. 要求将整个字符串划分成严格递增的几个数字,并且不允许前导零. 思路: 1.很开心得发现,当我在前i个区间以后再加一个区间的时候 ...
- poj 3026 Borg Maze 最小生成树 + 广搜
点击打开链接 Borg Maze Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 7097 Accepted: 2389 ...
- nyoj 76 超级台阶
点击打开链接 超级台阶 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 有一楼梯共m级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第m级,共有多少走法? 注:规 ...
- [HDU 2955]Robberies (动态规划)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2955 题意是给你一个概率P,和N个银行 现在要去偷钱,在每个银行可以偷到m块钱,但是有p的概率被抓 问 ...