您的位置:首页 > 移动开发 > Android开发

Android: Git/Gerrit/Repo 的使用 <一>

2012-02-28 19:27 197 查看
写在前面: 最近被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 下回分解吧.





内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: