git-rebase将多次commit合并成一条提交

前提:

  1. 自己使用的分支
  2. 在当前分支开发过程中有多次commit
  3. 最后开发完成,希望合并到master分支时,commit次数尽量减少,去除不必要的log-message(如DEBUG-message)

实现:

  1. 切换到当前子分支;
  2. 使用git log 查看自从上次创建该分支到现在,一供提交了多少次commit;
  3. 使用命令 git rebase -i HEAD~4 (假设开发该分支时,一共提交了5次。注意HEAD后无空格);
  4. 根据提示,将不需要显示的log-message前的pick 改成 f,(或将需要合并的commit-log前的pick 改成 s);
  5. 使用 git push -f 强制push (注意,此前若有其他人向该分支提交commit,则会被覆盖);
  6. 这时,在git-hub上提交pull request 时,会发现该分支的commit次数只有2次或很少了。

 

 

安装gitlab参考资料

内存低于4G的服务器,就别安装gitlab了!

【参考资料】

  1. https://www.gitlab.com.cn/installation/(官方提供的安装方式 & 为什么要4G内存)
  2. https://docs.gitlab.com.cn/omnibus/settings/nginx.html(错误查找,如403错)
  3. https://laravel-china.org/topics/2829/centos-7-install-gitlab-ce-community-edition-and-modify-the-default-nginx(网友的安装方式)
  4. http://blog.csdn.net/lixwjava/article/details/39647307(需要安装passenger)
  5. https://www.phusionpassenger.com/library/install/nginx/install/oss/el7/
  6. https://stackoverflow.com/questions/3329953/could-not-locate-gemfile
  7. 在/tmp/目录中可以找到对应的passenger-error相关日志信息

git区分大小写

默认情况下,git不区分大小写,所以即使更改了文件或文件夹的大小写,一般也不会被git识别出区别。

使用以下命令使git区分大小写:

 

git的config查看与配置

  • 查看当前仓库配置:

  • 查看全局配置:

  • 添加全局配置:(添加别名)

以上配置表示,使用命令  git mg时等同于命令 git merge --no-ff

  • 添加当前仓库配置:(设置用户名、邮箱)

  • 删除配置:

     

git将远程一分支checkout到本地

第一步,执行 git fetch ,更新分支信息

第二步,执行

就可以将远程分支checkout到本地分支并关联。

【参考:http://www.cnblogs.com/hanxianlong/archive/2012/09/10/2678659.html】

从git stash中取出更改信息

在不想commit却又想切换分支时,可以先使用 git stash 将当前更改存放至缓存区,此时当前分支就变成干净无修改的分支,可以切换分支了。

将当前修改存放至stash缓存区:

查看当前stash缓存区内容:

将stash列表中最新一次修改(下标为0)的内容取出:

将指定下标为1的stash内容取出:

将指定下标的stash删除:

【参考:http://blog.csdn.net/wh_19910525/article/details/7784901】