git使用手册
-2、pull by url
git remote set-url origin --push --add user1@repo1
git remote set-url origin --push --add user2@repo2
git remote -v
-1、gitlab使用:
ssh
-keygen -t rsa -C
"your_email@unisound.com"
可以在用户主目录里找到.ssh
目录,里面有id_rsa
和id_rsa.pub
两个文件,这两个就是SSH Key的秘钥对,id_rsa
是私钥,不能泄露出去,id_rsa.pub
是公钥,可以放心地告诉任何人。
登陆 Gitlab,在『User Settings』→『SSH Keys』页面,填上任意Title,在Key文本框里粘贴id_rsa.pub
文件的内容,保存。
本地 git 安装后,需要设置用户名和email:
$ git config --global user.name
"Your Name"
$ git config --global user.email
"your_email@unisound.com"
0、配置git使用代理的问题
注意查看ss的socket设置
然后编辑
git config --global http.proxy socks5://127.0.0.1:1086
git config --global https.proxy socks5://127.0.0.1:1086
可以查看
.gitconfig文件
1、merge以后查看diff
git 做了 merge的时候,比如 当前分支是 dev,需要merge rls的代码
git pull origin rls
做完merge以后,形成了3份代码:新代码、dev原来的代码、rls的代码,需要比较新代码和 dev原代码的不同,也要比较 新代码和 rls的区别
git diff dev
git diff rls
2、merge的时候希望pom文件必选按照某个的
如果做了 merge以后,比如就是希望保留本地的 pom文件,或者就是希望保留 rls的pom文件
这个时候不需要做rebase,只需要
git checkout --ours unisound-commons-time/pom.xml
--ours 表示用 我当前所在分支的版本。
--theirs表示,用另外一个分支的版本
3、结合12的一个案例
比如做了merge虽然没有冲突,但是git diff dev一看,有个文件并不想修改,所以还想保留merge以前的本地(dev)版本
就可以 git checkout --ours **file**
这里的概念 ours和theirs表示 本地和远程 dev 和 rls
4、摘草莓
假如你想删掉一个分支,但是对于里面的一些commit想保留到另一个分支上,这个时候就可以做摘草莓的技术
5、从一个commit创建一个分支
git branch **_before_merge 679856aa5
git checkout **_before_merge
查看某次commit提交的文件
git show --name-only e893e3175
6、eclipse 换行符
CRLF换行回车是windows使用的行结束符;而LF换行是linux使用的行结束符;所以两者会发生问题。
可以修改eclipse设置使得本地使用linux的行结束符;也可以设置git的参数 core.autocrlf
I
官方文档Formatting and Whitespace
core.autocrlf
》》1、如果你在windows编程,但是其他人用非windows编程 you’ll probably run into line-ending issues at some point.
git如何解决这个问题?
git会自动将CRLF换行回车转为LF换行,当你做add a file to index的时候;与此对应,checkout的时候也会将LF换行转为CRLF换行回车需要设置:
$ git config --global core.autocrlf true
》》2、如果你是linux编程,不想git自动行结束符转换,但是如果一个文件意外的行结束符是CRLF你希望git修复他,这个时候使用 core.autocrlf为input
If you’re on a Linux or Mac system that uses LF line endings, then you don’t want Git to automatically convert them when you check out files; however, if a file with CRLF endings accidentally gets introduced, then you may want Git to fix it. You can tell Git to convert CRLF to LF on commit but not the other way around by setting core.autocrlf to input:
$ git config --global core.autocrlf input
This setup should leave you with CRLF endings in Windows checkouts, but LF endings on Mac and Linux systems and in the repository.
7、merge冲突是因为对方删除而导致
Unmerged paths:
(use "git add/rm ..." as appropriate to mark resolution) deleted by them: src/main/java/com/example/filevisitor/PrintingFileVisitor.java
Resolving this type of conflict is pretty easy. You just have to tell Git whether you want to keep the file in your current branch using command:
$ git add file_name
or if you want to remove it completely:
$ git rm file_name
8、两次git pull
这里的前提假设是你的分支要merge到dev分支
git pull 自己的分支;
Git pull dev
这样可以省好多不必要的麻烦
9、如果有一个文件你做过commit,但是你想忽略掉不做更新了怎么办?
If you want to ignore a file that you've committed in the past, you'll need to delete the file from your repository and then add a .gitignore
rule for it. Using the --cached
option with git rm
means that the file will be deleted from your repository, but will remain in your working directory as an ignored file.
首先进入.gitignore 文件所在的目录
$ echo debug.log >> .gitignore
如何查看gitignore项是否生效?
$ git check-ignore -v filename
$ git rm --cached debug.log
rm 'debug.log'
$ git commit -m "Start ignoring debug.log"
>>>另一种情况,如果你将某个目录加入了gitignore,但是做git status可能看到添加的目录没有生效,这个时候可以
git rm -r --cached .
git add .
git commit -m ".gitignore is now working"
>>>注意在.gitignore 文件的写法(********)
./data_totrain_w2v/-----------不会真正忽略 不能以./开头
data_totrain_w2v/------------正确写法
10、某位牛人的说法(我还没看懂)
我多次推荐过一个 git 分支模型,它的关键思想是:长期存在的分支只有 develop 和 master,develop 是开发分支,master 是发布分支;master 分支每个节点都会以版本号打上 tag。
在实践中,会遇到一个问题。根据语义化版本的定义,大版本号升级意味着 API 的变化。当我们的 master 分支中包含超过一个大版本时,如果在一个较早的大版本上要做 bug 修复或者根据客户需求增加功能,就意味着必须新建一个长期分支。这违反了只有两个长期分支的原则。
我在这里提出一个解决方案:在做大版本更新前,fork 出一个新的 repo,未来在这个版本上的修改将在这个 repo 上执行。这样,所有 repo 都将遵守上述分支模型的约定。
git使用手册的更多相关文章
- git学习手册
#git学习手册 git: Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理.[2] Git 是 Linus Torvalds 为了帮助管理 Linux内核开发而 ...
- Ubuntu下安装Git以及Git帮助手册【转】
转自:http://milkythinking.com/blog/2011/04/17/install_git_and_manual/ Git简介 Git是一个分布式版本控制系统,对应的是SVN.CV ...
- svn 迁移至git操作手册
svn 迁移至git操作手册 项目交付.版本管理工具变更等情况下,迁移svn旧历史记录有很大必要,方便后续追踪文件的提交历史,文件修改记录比对等.git自带了从svn迁移至git的工具命令,可很好的对 ...
- Git使用手册【转】
转自:https://www.jianshu.com/p/e32a8e7ca93b 目录: Git是什么 基本概念 Git的诞生 Git的安装与配置 创建版本库 Git操作略览 远程仓库:git的杀招 ...
- Git Manual / Git使用手册 / Git, GitLab, Git Bash, TortoiseGit (建议全文复制到Word文档中通过导航窗格查看)
Git使用手册 目录 1 引言 2 Git.GitLab简介 2.1 Git 2.2 GitLab 2.3 Git基本概念 3 运行环境 4 ...
- 《mac的git安装手册-1》
<mac的git安装手册-1> 下载地址 https://git-scm.com/downloads 如果遇到上面这个问题打开系统偏好设置: OK,这样就能安装了
- 《mac的git安装手册-2》
<mac的git安装手册-2> 下载地址 https://git-scm.com/downloads 如果遇到打不开的情况,请在系统偏好设置内——>安全性与隐私下 ——>选择仍 ...
- 常用Git命令手册
常用Git命令手册 此文只是对Git有一定基础的人当记忆使用,比较简略,初级学员强烈推荐廖雪峰老师的Git系列教程,通俗易懂,戳此处即可开始学习 1.安装Git Linux sudo apt-get ...
- Git随身手册
Git随身手册 本文是关于Git探索的一篇文章,阐述了Git的大部分命令和使用方式,并列举了几个典型的使用场景以供参考和体会. 对于Git这个分布式的VCS,从链表的角度来看待是最容易理解的: 一次c ...
- Git使用手册/Git教程:git fetch 将远程仓库的分支及分支最新版本代码拉取到本地
相关文章: 关于验证是否存在ssh配置以及生成SSH Key的方法可以参照文章:Git使用手册:生成SSH Key 关于SSH Key的使用和公钥在gitHub.gitLab的配置等,请参考文章:Gi ...
随机推荐
- 用GitHub Pages搭了个静态博客
经过周末两天折腾,终于在GitHub Pages上用Hugo搭了个静态博客. 链接:https://xusiwei.github.io/ @ruanyf 曾经在博客里提到过"喜欢写Blog的 ...
- 通过挂载系统光盘搭建本地yum仓库的方法
在CentOS系统中,我们常常会安装大量的软件,但许多软件包都存在需要依赖性,当然我们可以通过一一安装依赖包来完成安装,但对于有些软件包需要大量的依赖包,再一一安装起来会显得特别麻烦.接下来我们就来讲 ...
- 第一章 简单工厂模式 及 UML中类图的表示方法
写一个简单计算器程序时,可以写一个操作类,然后加.减.乘.除操作分别继承它,复写操作计算结果的方法.写一个简单工厂类,通过输入的操作符,使用操作类来new一个相应的操作类的子类对象.这样,工厂就实例化 ...
- HDU 1754 I Hate It 线段树单点更新求最大值
题目链接 线段树入门题,线段树单点更新求最大值问题. #include <iostream> #include <cstdio> #include <cmath> ...
- CentOS7 NTP 安装配置
NTP 网络时间协议用来同步网络上不同主机的系统时间.你管理的所有主机都可以和一个指定的被称为 NTP 服务器的时间服务器同步它们的时间.而另一方面,一个 NTP 服务器会将它的时间和任意公共 NTP ...
- 深入理解Web标准(网站标准)
深入理解Web标准(网站标准) 我觉得一名Web前端应该好好理解Web标准到底是什么,为什么要在我们的实际实践中遵循Web标准. 什么是Web标准.百度百科的解释是: WEB标准不是某一个标准,而 ...
- 10个 jQuery 代码片段,可以帮你快速开发。
转载自:http://mp.weixin.qq.com/s/mMstI10vqwu8PvUwlLborw 1.返回顶部按钮 你可以利用 animate 和 scrollTop 来实现返回顶部的动画,而 ...
- iOS-APP提交上架流程(新手必看!2016年3月1日最新版)
自己的经验总结,有错的话请留言,第一时间更改. 先大概说一下iOSAPP上架的几个步骤(详细步骤见下图): 创建证书请求文件 登录苹果开发者中心生成发布者证书(下载下来要双击一下) 设置APPID(要 ...
- HTML学习笔记--HTML的语法【1】
1.什么是HTML标记语言? HTML是表示网页信息的符号标记语言. 2.HTML的标记和他的属性 HTML文档的保存格式:.html..htm..xhtml 标记和被标记的内容构建出HTML文档.格 ...
- Linux C编程学习之开发工具3---多文件项目管理、Makefile、一个通用的Makefile
GNU Make简介 大型项目的开发过程中,往往会划分出若干个功能模块,这样可以保证软件的易维护性. 作为项目的组成部分,各个模块不可避免的存在各种联系,如果其中某个模块发生改动,那么其他的模块需要相 ...