git小结
2015-07-28 23:12
246 查看
设置
git config --global user.name "<姓名,统一使用中文>" git config --global user.email "<邮箱,统一使用公司邮箱>" git config --global core.autocrlf input //防止出现windows回车换行符问题 git config --global color.branch auto git config --global color.diff auto git config --global color.interactive auto git config --global color.status auto
拷贝项目
//默认主分支 git clone ssh://gerrit-server/<工程名>.git //某个分支 git clone -b develop ssh://gerrit-server/<工程名称>.git
#
分支切换
git checkout -b develop origin/develop
合并分支
创建分支创建分支很简单:git branch <分支名>
切换分支
git checkout <分支名>
该语句和上一个语句可以和起来用一个语句表示:git checkout -b <分支名>
分支合并
比如,如果要将开发中的分支(develop),合并到稳定分支(master),
首先切换的master分支:git checkout master。
然后执行合并操作:git merge develop。
如果有冲突,会提示你,调用git status查看冲突文件。
解决冲突,然后调用git add或git rm将解决后的文件暂存。
所有冲突解决后,git commit 提交更改。
分支衍合
分支衍合和分支合并的差别在于,分支衍合不会保留合并的日志,不留痕迹,而 分支合并则会保留合并的日志。
要将开发中的分支(develop),衍合到稳定分支(master)。
首先切换的master分支:git checkout master。
然后执行衍和操作:git rebase develop。
如果有冲突,会提示你,调用git status查看冲突文件。
解决冲突,然后调用git add或git rm将解决后的文件暂存。
所有冲突解决后,git rebase –continue 提交更改。
删除分支
删除本地的:执行git branch -d <分支名>
如果该分支没有合并到主分支会报错,可以用以下命令强制删除git branch -D <分支名>
删除远程的:git push origin :branch-name
提交
使用 git add 将改动的文件添加至git stage区域准备本地提交;使用 git commit 提交stage区域的改动,在本地生成一个commit。
注意: commit要求及格式请参考Git Commit Log格式要求,我们将严格按照commit log格式要求进行代码审核;在changeID自动生成hook脚本配置好的情况下,changed-id将会自动由脚本生成
取消提交:起因: 不小新把记录了公司服务器IP,账号,密码的文件提交到了git
方法:
git reset –hard
git push origin HEAD –force
另一种
提交前:git pull –rebase,然后:git push origin <本地待提交分支名>:refs/for/<远程版本库分支名>
冲突解决
<<<<<<<标记冲突开始,后面跟的是当前分支中的内容。HEAD指向当前分支末梢的提交。
=======之后,>>>>>>>之前是要merge过来的另一条分支上的代码。
>>>>>>>之后的dev是该分支的名字。
对于简单的合并,手工编辑,然后去掉这些标记,最后像往常的提交一样先add再commit即可。
极端方法
设置tag(转)
标签可以针对某一时间点的版本做标记,常用于版本发布。列出标签
git tag # 在控制台打印出当前仓库的所有标签 git tag # 在控制台打印出当前仓库的所有标签
git tag -l ‘v0.1.*’ # 搜索符合模式的标签
打标签
git标签分为两种类型:轻量标签和附注标签。轻量标签是指向提交对象的引用,附注标签则是仓库中的一个独立对象。建议使用附注标签。
创建轻量标签
$ git tag v0.1.2-light
创建附注标签
$ git tag -a v0.1.2 -m “0.1.2版本”
创建轻量标签不需要传递参数,直接指定标签名称即可。
创建附注标签时,参数a即annotated的缩写,指定标签类型,后附标签名。参数m指定标签说明,说明信息会保存在标签对象中。
切换到标签
与切换分支命令相同,用git checkout [tagname]
查看标签信息
用git show命令可以查看标签的版本信息:
$ git show v0.1.2
删除标签
误打或需要修改标签时,需要先将标签删除,再打新标签。
$ git tag -d v0.1.2 # 删除标签
参数d即delete的缩写,意为删除其后指定的标签。
给指定的commit打标签
打标签不必要在head之上,也可在之前的版本上打,这需要你知道某个提交对象的校验和(通过git log获取)。
补打标签
$ git tag -a v0.1.1 9fbc3d0
标签发布
通常的git push不会将标签对象提交到git服务器,我们需要进行显式的操作:
- git push origin v0.1.2 # 将v0.1.2标签提交到git服务器
- git push origin –tags # 将本地所有标签一次性提交到git服务器
注意:如果想看之前某个标签状态下的文件,可以这样操作
1.git tag 查看当前分支下的标签
2.git checkout v0.21 此时会指向打v0.21标签时的代码状态,(但现在处于一个空的分支上)
3. cat test.txt 查看某个文件
另外生成秘钥
cd /.ssh检查本机的ssh密钥如果提示:Nosuchfileordirectory说明你是第一次使用git。如果不是第一次使用,请执行下面的操作,清理原有ssh密钥。 cd ~/. ssh 检查本机的ssh密钥如果提示:No such file or directory 说明你是第一次使用git。
如果不是第一次使用,请执行下面的操作,清理原有ssh密钥。
mkdir key_backup cpidrsa∗keybackup cp id_rsa* key_backup rm id_rsa*
生成新的密钥:
Ssh-keygen –t rsa –C “defnngj@gmai.com”
相关文章推荐
- iOS 客户端进行 RSA 加密并在 PHP 服务端进行解密
- 运算放大器【五】---全功率带宽和增益带宽积
- 自定义事件
- uvalive 4728(旋转卡壳求凸包最长直径)
- UITextField 和 UIButton的基本属性和用法
- win7下安装ubuntu12.04时遇到的分区问题
- jquery常用方法
- xcode 6.4 下 IOS 8.4 隐藏模拟器的状态栏
- hdu 1394 Minimum Inversion Number(线段树)
- muduo::FileUtil、LogFile分析
- android 开源库
- SSI(Server Side Include)
- sgi stl 迭代器的设计
- Fragment向Fragment传值(第二种)
- magento 安装 ( 环境搭建)
- 《游园不值》——叶绍翁
- Java集合类图
- 【线段树】 HDU 5316 Magician
- android shape的使用
- Single Number II