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的用法的更多相关文章

  1. Git的用法

    Git的用法 Git 的也可以理解为版本控制器.版本控制器(维基的解释):维护工程蓝图的标准作法,能追踪工程蓝图从诞生一直到定案的过程.此外,版本控制也是一种软件工程技巧,借此能在软件开发的过程中,确 ...

  2. How to Convert Subversion Repo to Git

    用了比较长时间的 SVN,但现在新的项目都采用Git.之前的项目又不得不维护,那么能不能将项目从SVN迁移到Git呢.答案是肯定的,网上的方案是 git-svn,或者更高级的封装 svn2git. 方 ...

  3. git subtree用法(转)

    git subtree用法 一.使用场景 例如,在项目Game中有一个子目录AI.Game和AI分别是一个独立的git项目,可以分开维护.为了避免直接复制粘贴代码,我们希望Game中的AI子目录与AI ...

  4. git revert用法以及与git reset的区别

    git revert用法 git revert 撤销 某次操作,此次操作之前和之后的commit和history都会保留,并且把这次撤销 作为一次最新的提交 * git revert HEAD     ...

  5. Git进阶用法

    Git高阶用法 1. 基本概念 你的本地仓库由Git维护的三棵树组成.第一个是你的工作目录,它持有实际文件:第二个是缓存区(Index),它像个缓存区域,临时保存您的改动:最后是HEAD,指向你最近一 ...

  6. 转:Git: git stash 用法小结

    一.应用场景 综合下网上的介绍和资料, git stash (git储藏)可用于以下情形: 发现有一个类是多余的,想删掉它又担心以后需要查看它的代码,想保存它但又不想增加一个脏的提交.这时就可以考虑  ...

  7. git cherry-pick用法

    场景: 如果你的应用已经发布了一个版本2.0, 代码分支叫release-2.0, 现在正在开发3.0, 代码的分支叫dev-3.0. 那么有一天产品说, 要把正在开发的某个特性提前上线, 也就是说要 ...

  8. repo+manifests+git方式管理安卓代码

    repo+manifests+git方式管理安卓代码 1.repo的获取 repo只是google用Python脚本写的调用git的一个脚本,主要是用来下载.管理Android项目的软件仓库.(也就是 ...

  9. git clean用法

    git clean用法   想批量删除branch中新加的文件(untracked files),,git reset --hard不行-   首先确认要删除的文件 git clean -fd -n ...

随机推荐

  1. CentOS7关闭/开启防火墙出现 Unit iptables.service failed to load

    在vm中安装好tomcat,而且在liunx中使用nc命令可以返回成功,但是更换到window中访问不到tomcat的情况,是由于linux防火墙的问题造成的,传统的解决方式有2中 第一种解决方案: ...

  2. 有了Openvswitch和Docker,终于可以做《TCP/IP详解》的实验了!

    所有做过网络编程的程序员,想必都会看<TCP/IP详解>卷一:协议 后来出了第二版,但是由于第一版才是Rechard Stevens的原版,本人还是多次看了第一版. 对这一版印象最深的就是 ...

  3. PHP文件头BOM头问题

    前几天我们公司服务器出现了一个离奇的问题,服务器与本地文件代码完全一致,本地运行正常,到了测试环境服务器之后,各种问题一个又一个浮现,先是后台验证码不显示,以为是session写入失败,又是怀疑gd库 ...

  4. 微信小程序半周问题总结

    新产品要做一个微信小程序,不想吐槽老板没给任何准备就给出了需求和原型图,好像默认小程序闭着眼睛就可以很顺利开发好.现在半周下来(五一结束开始到今天)完成了差不多所有的界面,网络请求部分还跟服务端兄弟耗 ...

  5. java网络编程(1)

    太久没有用java做一些东西了,搞太多的协议框架,基本的东西好像快忘记了~每天抽出一点时间出来,来好好温习下基础,顺便记录下来,以后还忘记可以回来看看==.首先从网络编程开始吧==.这玩意太久没有用了 ...

  6. 安装apache报没有找到VCRUNTIME40.dll错误

    解决办法 在Windows下运行最新版的Apache和php7都需要Visual C++Redistributable 2015,而之前的版本不需要那么高的,这个组件是运行Visual Studio ...

  7. LitePal——Android数据库框架完整使用手册

    LitePal for Android LitePal是一个开源的Android库,使开发人员使用SQLite数据库非常简单.您无需编写任何SQL语句就可以完成大部分数据库操作,包括创建或升级表,增. ...

  8. Django开发基础----操作数据库

    Django中对数据库的操作是由Models来完成的 Models是什么? 通常,一个Model对应数据库的一张数据表 Django中Models以类的形式出现 它包含了一些基本字段以及数据的一些行为 ...

  9. linux系统 initrd.img中init启动脚本分析

    概述:这篇文章主体内容来源于网上转载.前面几篇文章倾向于制作initrd.img,这篇文章更倾向于initrd.img的运行过程:加载framebuff驱动 ide驱动和文件系统驱动,最后进入到真正的 ...

  10. Css中路径data:image/png;base64的用法详解

    今天查看一些网站的css中发现了 background-image:url(data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAYAAAB ...