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大百科的更多相关文章

  1. Git 子模块 - submodule

    有种情况我们经常会遇到:某个工作中的项目需要包含并使用另一个项目. 也许是第三方库,或者你 独立开发的,用于多个父项目的库. 现在问题来了:你想要把它们当做两个独立的项目,同时又想在 一个项目中使用另 ...

  2. Git 在团队中的最佳实践--如何正确使用Git Flow

    我们已经从SVN 切换到Git很多年了,现在几乎所有的项目都在使用Github管理, 本篇文章讲一下为什么使用Git, 以及如何在团队中正确使用. Git的优点 Git的优点很多,但是这里只列出我认为 ...

  3. Git与Repo入门

    版本控制 版本控制是什么已不用在说了,就是记录我们对文件.目录或工程等的修改历史,方便查看更改历史,备份以便恢复以前的版本,多人协作... 一.原始版本控制 最原始的版本控制是纯手工的版本控制:修改文 ...

  4. Git Bash的一些命令和配置

    查看git版本号: git --version 如果是第一次使用Git,你需要设置署名和邮箱: $ git config --global user.name "用户名" $ gi ...

  5. 在Ubuntu 16.10 安装 git 并上传代码至 git.oschina.net

    1. 注册一个账号和创建项目 先在git.oschina.net上注册一个账号和新建一个project ,如project name 是"myTest". 2.安装git sudo ...

  6. 史上最详细git教程

    题外话 虽然这个标题很惊悚,不过还是把你骗进来了,哈哈-各位看官不要着急,耐心往下看 Git是什么 Git是目前世界上最先进的分布式版本控制系统. SVN与Git的最主要的区别 SVN是集中式版本控制 ...

  7. [版本控制之道] Git 常用的命令总结(欢迎收藏备用)

    坚持每天学习,坚持每天复习,技术永远学不完,自己永远要前进 总结日常开发生产中常用的Git版本控制命令 ------------------------------main-------------- ...

  8. 【解决方案】Myeclipse 10 安装 GIT 插件 集成 步骤 图解

    工程开发中,往往要使用到集成GIT ,那么下面说说插件安装步骤 PS:以Myeclipse 10 为例,讲解集成安装步骤. ----------------------main------------ ...

  9. git 命令

    切换仓库地址: git remote set-url origin xxx.git切换分支:git checkout name撤销修改:git checkout -- file删除文件:git rm  ...

随机推荐

  1. iphone dev 入门实例4:CoreData入门

    The iPhone Core Data Example Application The application developed in this chapter will take the for ...

  2. 关于Linux中exec的一点心得

    最近在学习linux操作系统中的相关知识,在使用execlp系统调用时,发现了些有趣的东西. 首先,关于execlp函数的用法: int execlp(const char *file, const ...

  3. java.util.concurrent

    软件包 java.util.concurrent 的描述 在并发编程中很常用的实用工具类.此包包括了几个小的.已标准化的可扩展框架,以及一些提供有用功能的类,没有这些类,这些功能会很难实现或实现起来冗 ...

  4. json字符串相关转换方法

    /** json转换为Map * @param jsonStr json * @return map集合 */ public static HashMap<String, String> ...

  5. do break的妙用

    #include <stdio.h> #include <malloc.h> int func(int n) { //资源的统一申请 ; ; int* p = (int*)ma ...

  6. bug_ _ 应用汇==常见错误列表

    应用汇的安装功能是基于安卓系统的adb开发的,adb的安装过程分为传输与安装两步.在出错后,助手会在右下角弹出详细的错误编号及建议. 下面列举出几种常见的错误及解决方法. Q1:无效的安装包,安装包已 ...

  7. java中使用session的一些细节

    获取session的时候会产出一个sessionid并且发给客户端,第二次回发的时候再根据该sessionid获取session.如果cookies被禁用,则需要通过URL传入. asp.net下的s ...

  8. 当月 当年sql

    本文转自:http://jophy.javaeye.com/blog/337321 当月数据 Java代码 select * from table t where t.create_time > ...

  9. Inno Setup执行SQL脚本的方法

    作为和NSIS并立的.两个最流行的免费Windows应用程序安装包制作工具之一,Inno在学习难度上相对要低一些,非常适合对一些简单的桌面程序打包.但对于较复杂的安装过程,或者Web应用程序来说,我个 ...

  10. Flask + Gunicorn + Nginx 部署

    最近很多朋友都在问我关于 Flask 部署的问题,说实在的我很乐意看到和回答这样的问题,至少证明了越来越多人开始用 Flask 了. 之前我曾发表过一篇在 Ubuntu 上用 uwsgi + ngin ...