Android: Git/Gerrit/Repo 的使用 <一>
2012-02-28 19:27
579 查看
写在前面: 最近被Git的使用, 搞得快要疯掉了, 本来使用git也只是下个代码, 提交个代码之类的简单操作, 话说, 某天, 使用git命令提交了5个代码, 结果冲突了, 捣鼓了半天, 还是给abandon掉了, 心疼啊~~ 于是乎, 决心要 搞一搞它了. 本文, 只针对那些和我一样, 使用git作业的且非git研究者的童鞋们, 对于git灰常灰常了解的可以掠过了...
Git
是一个分布式的代码版本管理工具
是由Linux Torvalds 为了支持Linux内核管理而开发的 (2005年)
安装apt-get install git-core
配置用户信息: git config --global user.name “user name” 邮箱帐号@的前面部分
git config --global user.email “user email”
git config -l 可查看配置信息
<如需要更改配置信息, 可以修改~/.gitconfig文件>
使用流程: (使用git help帮助文档)
git fetch(pull, clone) ** 从远程git 服务器获取代码, 会建立一个local的git库
在一个干净的git库下, coding... coding....coding....
git status ** 查看修改状态, 会列出所有的修改的文件
git diff <filename> **查看修改的代码
git add filename1 filename2 ........ ** 将修改的代码保存在cache里, 在.git/index
git commit **提交到本地的git库里, 会自动生成一个sha1号
git push ** 提交代码到远程git库里
其他的一些常用的git 命令:
git reset ** 回退所有修改到某个点, 不删除本地未提交的修改(读,写 cache里的东西)
git reset -- myfile.java ** 回退某个文件
git reset --hard ** 回退所有cache里的文件, 并删除本地未提交的修改
git checkout <filename> ** 将修改的代码回退到未修改之前
git log **列出所有的commit历史记录,
git log v2.0..v1.0 **列出所有在v1.0 但不在v2.0里的所有commits
gitk **比较好用的一款git图形界面
git cherry-pick sha1 ** 将sha1的那次提交拿到本地分支来 (多次的cherry-pick 可能会产生冲突, 可根据提示解决冲突后, 继续cherry-pick)
git rebase branch_name ** 和cherry-pick 类似, 只是将branch_name的分支一次性拿到本地分支
conflict实例讲解:
conflict: 主分支(main_branch, 记为sha1_parents) 上建立一个本地分支my_branch, coding后, 使用上述的git命令将代码提交到远程git库(此时的commit-id记为sha1_1), 发现, 此时main_branch已被修改, 因此 会提交失败,
解决冲突的方法是:
首先, git checkout 到sha1_parents上; 其次, 使用git cherry-pick sha1_1; 最后, 使用git rebase main_branch.
Gerrit /
Repo 下回分解吧.
Git
是一个分布式的代码版本管理工具
是由Linux Torvalds 为了支持Linux内核管理而开发的 (2005年)
安装apt-get install git-core
配置用户信息: git config --global user.name “user name” 邮箱帐号@的前面部分
git config --global user.email “user email”
git config -l 可查看配置信息
<如需要更改配置信息, 可以修改~/.gitconfig文件>
使用流程: (使用git help帮助文档)
git fetch(pull, clone) ** 从远程git 服务器获取代码, 会建立一个local的git库
在一个干净的git库下, coding... coding....coding....
git status ** 查看修改状态, 会列出所有的修改的文件
git diff <filename> **查看修改的代码
git add filename1 filename2 ........ ** 将修改的代码保存在cache里, 在.git/index
git commit **提交到本地的git库里, 会自动生成一个sha1号
git push ** 提交代码到远程git库里
其他的一些常用的git 命令:
git reset ** 回退所有修改到某个点, 不删除本地未提交的修改(读,写 cache里的东西)
git reset -- myfile.java ** 回退某个文件
git reset --hard ** 回退所有cache里的文件, 并删除本地未提交的修改
git checkout <filename> ** 将修改的代码回退到未修改之前
git log **列出所有的commit历史记录,
git log v2.0..v1.0 **列出所有在v1.0 但不在v2.0里的所有commits
gitk **比较好用的一款git图形界面
git cherry-pick sha1 ** 将sha1的那次提交拿到本地分支来 (多次的cherry-pick 可能会产生冲突, 可根据提示解决冲突后, 继续cherry-pick)
git rebase branch_name ** 和cherry-pick 类似, 只是将branch_name的分支一次性拿到本地分支
conflict实例讲解:
conflict: 主分支(main_branch, 记为sha1_parents) 上建立一个本地分支my_branch, coding后, 使用上述的git命令将代码提交到远程git库(此时的commit-id记为sha1_1), 发现, 此时main_branch已被修改, 因此 会提交失败,
解决冲突的方法是:
首先, git checkout 到sha1_parents上; 其次, 使用git cherry-pick sha1_1; 最后, 使用git rebase main_branch.
Gerrit /
Repo 下回分解吧.
相关文章推荐
- Android: Git/Gerrit/Repo 的使用 <二>
- Android UI设计之<一>使用ImageView实现ProgressBar旋转效果
- 使用git上传代码到github<一>
- min3d引擎使用指南(Android)<一>
- 【Android开发学习45】使用google语音识别引擎(Google Speech API)<一>
- Android 新API 之 MediaCodec使用笔记 <一>
- (4.6.12.6)Android中<meta-data>的使用
- 使用设计模式优化设计案例<一>
- <Android>在Activity被非正常杀死并重建时,使用savedInstanceState进行数据恢复的简单实例
- Android binder 原理及实现机制<一>
- pro git 学习<一>
- android <merge>标签的使用
- Android学习0817<一>(Android环境搭建)
- android 标签页<include /> 的使用
- 从零开始学android<RadioButton单选按钮的使用.七.>
- Android 新API 之 MediaCodec使用笔记 <一>
- Cocos2d-x android使用onKeyDown监听返回键实现二次返回退出<转载>
- 【LaTeX排版】LaTeX使用--入门基础<一>
- <一>Ioc控制反转——手把手教学:如何配置并使用单元测试一个spring框架(附源码)
- android studio <item/>标签下不能使用showAsAction属性