repo 和git的用法
1. 服务器版本下载:
repo init -u git@192.168.1.11:i700t_60501010/platform/manifest.git-b froyo_almond -m M76XXTSNCJNLYA60501010.xml
repo sync
repo forall -c git checkout --track origin/i700t_60501010 -b[你的本地分支]
或者:
git clone git@192.168.1.11:6120_gingerbread/Arm9-6120.git
git checkout --track origin/arm9_6120 -b [你的本地分支名]
2. 服务器新加仓库同步:
请按如下步骤取得Lanucher_wpon的代码:
1:~> cd I700T/.repo/manifest
2: I700T/.repo/manifest> git pull --rebase
3: I700T/.repo/manifest> cd ../..
4: I700T> repo syncplatform/packages/apps/Launcher_wpon
5:I700T> cd packages/apps/Launcher_wpon
6:I700T/packages/apps/Launcher_wpon>
7:git checkout --track origin/froyo_almond -b [你的本地分支]
3. 上传本地修改到服务器
repo forall -c git pull --rebase 和服务器同步(要上传代码前,一般先进行此操作)
git add . 或git add 文件名 添加当前仓库修改的文件
git commit -m "..." 在引号中添加你的修改记录
git push origin 本地分支名:froyo_almond 上传本地修改的代码
4. 设置一些默认的全局变量,对所有工程代码有效
git config --global user.name yourmail
git config --global user.email yourmail
git config --global push.default tracking 这样后续git push 后面不用带参数
5.查看修改记录
git log 本地仓库修改记录
repo forall -c git log --since="2011-04-19" --until="2011-04-21" 按条件查看工程所有仓库修改记录
repo status 查看工程中所有仓库的修改状态(包括文件位置)
git status 查看仓库修改状态
6. 分支相关
git branch 查看本地branch
git branch -r 查看远程branch
git branch -a 查看所有branch
git branch -D (-d) (branchname) 删除branch
cat .git/config 可以查看本地branch一些信息
7. 修改恢复相关
git checkout filename1 filename2 ... 取消本地修改,和服务器同步
git stash
git stash apply 先stash本地修改,然后执行git pull--rebase同步,最后再APPLY恢复自己的修改
git reset --soft head_commit 恢复到最后一次commit,保持代码修改
git reset --hard commit 恢复到指定一次commit,放弃之前所有修改
#回退a.py这个文件的版本到上一个版本
git reset HEAD^ a.py
git reset commitNO filename
8. 本地某仓库出问题了,不好闹腾时,删除之,并重新同步跟踪
project_folder/vendor/qcom$ rm -rf proprietary/ 进到相应目录,删除之
project_folde$ repo sync platform/vendor/qcom/proprietary 重新reposync,后面路径名称可查看:
gedit .repo/manifest.xml
git branch -a ----列举所有BRANCH
git branch -D 700_arm11_server
git branch -D 700_arm11_server_wifi --删掉所有本地branch
git checkout --track origin/froyo_almond -b 700_arm11_server 然后track远程branch,重新创建本地分支
9.tag的使用
git tag [tag_name][version],在对应版本上(一般用change的SHA1),创建tag
git tag -l 列出当前tag
git tag -d [tag_name] 删除tag
有了tag以后,可以使用git checkout [tag_name] -b[branch_name]来检出对应tag时刻的代码。也可以用tagname来实现diff等功能。
10. patch的使用
git diff filename1 filename2 ... 修改位置对比,查看源码
git diff > xxx.patch 将修改的地方打成一个patch
git apply xxx.patch 将patch打上
11. 后续有用到的命令继续添加
git revert 是撤销某次提交。git reset –hard,才是退回到以前的版本
git reset --soft commitNum 保存代码修改的reset,但这个时候无法使用git diff 进行比较修改的文件,必须:
git reset filename filename 这样就可以git diff查看
git diff ffd98b291e0caa6c33575c1ef465eae661ce40c9b8e7b00c02b95b320f14b625663fdecf2d63e74c 查看某两个版本之间的差异
git diff ffd98b291e0caa6c33575c1ef465eae661ce40c9:filenameb8e7b00c02b95b320f14b625663fdecf2d63e74c:filename查看某两个版本的某个文件之间的差异
Git 命令别名
$ git config –global alias.co checkout // co将会成为checkout的别名
$ git config –global alias.br branch
$ git config –global alias.ci commit
$ git config –global alias.st status
$ git config –global user.name “username”
$ git config –global user.email username@mail.com
repo 和git的用法的更多相关文章
- Git的用法
Git的用法 Git 的也可以理解为版本控制器.版本控制器(维基的解释):维护工程蓝图的标准作法,能追踪工程蓝图从诞生一直到定案的过程.此外,版本控制也是一种软件工程技巧,借此能在软件开发的过程中,确 ...
- How to Convert Subversion Repo to Git
用了比较长时间的 SVN,但现在新的项目都采用Git.之前的项目又不得不维护,那么能不能将项目从SVN迁移到Git呢.答案是肯定的,网上的方案是 git-svn,或者更高级的封装 svn2git. 方 ...
- git subtree用法(转)
git subtree用法 一.使用场景 例如,在项目Game中有一个子目录AI.Game和AI分别是一个独立的git项目,可以分开维护.为了避免直接复制粘贴代码,我们希望Game中的AI子目录与AI ...
- git revert用法以及与git reset的区别
git revert用法 git revert 撤销 某次操作,此次操作之前和之后的commit和history都会保留,并且把这次撤销 作为一次最新的提交 * git revert HEAD ...
- Git进阶用法
Git高阶用法 1. 基本概念 你的本地仓库由Git维护的三棵树组成.第一个是你的工作目录,它持有实际文件:第二个是缓存区(Index),它像个缓存区域,临时保存您的改动:最后是HEAD,指向你最近一 ...
- 转:Git: git stash 用法小结
一.应用场景 综合下网上的介绍和资料, git stash (git储藏)可用于以下情形: 发现有一个类是多余的,想删掉它又担心以后需要查看它的代码,想保存它但又不想增加一个脏的提交.这时就可以考虑 ...
- git cherry-pick用法
场景: 如果你的应用已经发布了一个版本2.0, 代码分支叫release-2.0, 现在正在开发3.0, 代码的分支叫dev-3.0. 那么有一天产品说, 要把正在开发的某个特性提前上线, 也就是说要 ...
- repo+manifests+git方式管理安卓代码
repo+manifests+git方式管理安卓代码 1.repo的获取 repo只是google用Python脚本写的调用git的一个脚本,主要是用来下载.管理Android项目的软件仓库.(也就是 ...
- git clean用法
git clean用法 想批量删除branch中新加的文件(untracked files),,git reset --hard不行- 首先确认要删除的文件 git clean -fd -n ...
随机推荐
- java线程优先级
java的线程优先级分为1-10 这10个等级 1为最强,最优先 10为最弱 如果大于10或者小于1则会抛异常 源代码为: public final void setPriority(int newP ...
- nodejs的基础概念
1.node 安装与相关配置. 2.Node.jsREPL(交互式解释器) 类似于控制台,可以输入命令,并接受系统的响应. REPL 的功能: 1.读取:读取用户输入,解析输入的 js 数据结构,并存 ...
- hdu 1010 回溯加奇偶性剪枝
普通的剪枝会超时,必须加入奇偶性剪枝. 直接上图: AC代码: #include<cstdio> #include<cstring> #include<algorithm ...
- 【天坑】ASP.net WebAPI跨域调用问题
最近在做一个项目,前端是VUE,后端是WebAPI,业务也就是一些实体的增删改查.在项目开始的时候我就预计到有跨域的问题,所以也找了一下资料,在Web.Config里面加上了配置信息: <htt ...
- 依赖Aspose.Cells Excel 导出
public static void SaveExcel() { //新建工作簿 Workbook workbook = new Workbook(); //工作簿 Worksheet sheet = ...
- shell 批量创建带随机字符串的html文件
思路一: echo $RANDOM|md5sum |tr "[0-9]" "[a-j]"|cut -c 2-11 RANDOM: linux内置的随机数变量 ...
- 兼容ie7以上的 placeholder属性
最近项目踩过的坑,不考虑ie的可以拐弯绕路走了. css3的新属性 占位符 placeholder用着多舒服 . 偏偏万恶的ie不支持,网上有几种方法是用焦点事件代替的,不过会失去原有的特性.一旦获取 ...
- windows驱动程序wdf--KMDF获取应用程序数据缓冲区地址
有3种常用方式:METHOD_BUFFERED METHOD_IN_DIRECT METHOD_OUT_DIRECT 还有METHOD_NEITHER,<windows设备驱动WDF开发 ...
- dtls_srtp学习笔记
注:以下为rfc5764的学习笔记,不保证完全正确. DTLS-SRTP是DTLS的一个扩展,将SRTP加解密与DTLS的key交换和会话管理相结合.从SRTP的角度看,是为其提供一种新的key协商管 ...
- pat1051-1060
1051 自己写的非常麻烦 http://blog.csdn.net/biaobiaoqi/article/details/9338397 的算法比较好,我的就贴下吧,主要对入栈出栈不够理解 #inc ...