开发工具之git
rockly89
这个作者很懒,什么都没留下…
展开
-
git命令积累
查看本地本地跟踪分支关联的远程分支: git branch -vv (两个v)原创 2016-08-13 20:51:56 · 482 阅读 · 0 评论 -
取得git 打好的tag所对应的代码
先 git clone 整个仓库,然后 git checkout tag_name 就可以取得 tag 对应的代码了。但是这时候 git 可能会提示你当前处于一个“detached HEAD" 状态,因为 tag 相当于是一个快照,是不能更改它的代码的,如果要在 tag 代码的基础上做修改,你需要一个分支:?git checkout -b branch_name tag转载 2017-01-10 21:21:16 · 695 阅读 · 0 评论 -
git 删除某个project的远程仓库及其下属所有分支
git remote rm 远程仓库名称原创 2017-01-23 16:59:38 · 2140 阅读 · 0 评论 -
repo sync error: cannot initialize work tree
repo sync时其他操作导致电脑死机,重启后继续repo时,出现如下错误:$ repo sync -cdfSyncing work tree: 67% (344/512) fatal: This operation must be run in a work treeTraceback (most recent call last): File "/home/panos/原创 2017-02-03 19:03:35 · 11356 阅读 · 4 评论 -
git本地分支创建后关联远程分支
在使用git创建本地分支时,可以在创建分支时就设置好跟踪的上游分支:git checkout -b local_branch -t upstream_name/remote_branch$ git checkout --help -t, --track When creating a new branch, set up "upstream" c原创 2017-03-19 00:45:54 · 2985 阅读 · 0 评论 -
拉取aosp特定分支和特定project代码并merge到本地分支
git pull https://android.googlesource.com/platform/bootable/recovery -t nougat-release原创 2017-03-28 10:33:29 · 942 阅读 · 0 评论 -
git查看一些配置信息的命令
git comfig -l查看git所有配置项git remote -v查看git远程库信息git remote show origin查看remote地址,远程分支,还有本地分支与之相对应关系等一系列信息原创 2017-03-29 14:47:16 · 7227 阅读 · 1 评论 -
取得git 打好的tag所对应的代码
先 git clone 整个仓库,然后 git checkout tag_name 就可以取得 tag 对应的代码了。但是这时候 git 可能会提示你当前处于一个“detached HEAD" 状态,因为 tag 相当于是一个快照,是不能更改它的代码的,如果要在 tag 代码的基础上做修改,你需要一个分支:git checkout -b branch_name tag_name转载 2017-05-26 11:06:41 · 981 阅读 · 1 评论 -
导入另一个 Git库到现有的Git库并保留提交记录
提取出的主要步骤如下:1 切换到要合并到的仓库2 git remote add 仓库名 被合并仓库路径3 git fetch --all4 git merge 仓库名/被合并仓库想合并的分支问题描述:我在本地有两个Git库项目(D1=PC项目 包含通用项目 ,D2=移动项目 也 包含通用项目 这两个项目在同一目录下 ), 因为这两个项目使用的通用项目原创 2017-05-29 23:37:13 · 4516 阅读 · 0 评论 -
GIT 如何合并另一个远程Git仓库的文件到本地仓库里某个指定子文件夹并不丢失远程提交记录?
问题背景: 最近在重新整理手中的一个项目,目前该项目分为PC项目,手机项目,某第三方接口项目,第三方接口服务项目和手机项目 因为之前规划的原因,原来的四个项目是分两个解决方案来管理的 PC解决方案:1234567891011转载 2017-05-29 23:38:27 · 2606 阅读 · 1 评论 -
git修改已经push了的commit message
1 git commit --amend2 git push -fgit push --help -f, --force Usually, the command refuses to update a remote ref that is not an ancestor of the local ref used to overwrit原创 2017-05-30 08:45:38 · 4076 阅读 · 0 评论 -
Git忽略文件设置经验
http://www.cnblogs.com/Yiutto/articles/4678578.html解决方案:1. 本地仓库忽略本地仓库的文件忽略规则可以在.git/info/exclude文件中添加。这些忽略的文件不会提交到共享库中,因而不会被协作者所共享。 2. 当前工作目录添加文件忽略对于每一级工作目录,创建一个.gitignor转载 2017-06-18 10:42:00 · 261 阅读 · 0 评论 -
git rm删除大量文件
1 git add -u(只暂存不提交) 或 git commit -agit help rm Using “git commit -a” If you intend that your next commit should record all modifications of tracked files in the working tree and record原创 2017-06-23 07:18:26 · 3669 阅读 · 0 评论 -
修改manifest仓库分支
今天工作时遇到的问题,要在安卓N上开始适配recovery,新建了一个专用于适配n的分支 v8-n-dev 但这个分支所在的仓库(manifest中的remote)和manifest中当前制定的不是同一个仓库,这时就要修改android代码下面的.repo文件夹下的manifest.xml 或者 .repo/manifests下真正的manifest文件xxxxx.xml 可以看到manif原创 2016-09-17 15:27:45 · 7554 阅读 · 0 评论 -
git 用一个project添加两个远程仓库
以android的recovery项目为例,目前git branch -r中只有A仓库的分支 git branch -r m/dev -> A/v8-n-secureboot-dev A/master这是因为manifest中的recovery项目配置为: 如果要添加远程仓库B中的recovery,1 下一套含有remote A的代码2 cd bo原创 2017-01-22 09:26:45 · 938 阅读 · 0 评论 -
git log按作者过滤提交
git log --author=authorname --author=, commits whose author matches any of the given patterns are chosen (similarly for multiple --committer=).它接受正则表达式,返回所有作者名字满足这个规则的提交。如果你知道那个作者的确切名字你可原创 2017-06-14 14:33:10 · 28506 阅读 · 0 评论 -
repo forall
repo forall可以遍历每个repo仓库并执行同样的命令用法为:repo forall [...] -c [...]-c后可以直接跟任何shell命令eg:repo forall -p -c git checkout branch_namerepo forall -hUsage: repo forall [...] -c [...]repo原创 2017-07-05 20:34:22 · 7242 阅读 · 1 评论 -
git tag
Git 中的tag指向一次commit的id,通常用来给开发分支做一个标记,如标记一个版本号。git tag 查看所有的taggit tag -a v1.01 -m "Relase version 1.01"过滤查看git tag -l -l , --list List tags with names that match the原创 2017-01-10 21:19:20 · 597 阅读 · 0 评论 -
Git review :error: unpack failed: error Missing tree
环境git version 1.9.1Gerrit Code Review (2.11.3) 1212现象修改后调用 Git review可以提交到Gerrit上,然后只要一用 git commit --amend修改 Commit Message再提交,就会出现此错误;而如果不修改Commit Message,而只是修改增加文件,那么可以用--amend提交再 git转载 2017-02-06 11:10:12 · 1371 阅读 · 0 评论 -
repo sync配合manifest下载旧版本代码
有时为了复现问题,我们需要对前几天代码仓库中的代码打包将当天打包用的manifest文件放到任何一套代码下的.repo/manifests/里面,假设这个文件名为pre_version.xml然后执行repo init -m pre_version.xml接下来我们用命令ll .repo/manifest.xml查看打包所用的manifset,可以看到它已经链接到了原创 2016-11-29 20:08:18 · 9293 阅读 · 1 评论 -
git error Missing blob 错误的解决
今天git提代码时出现了error Missing blob 错误:error: unpack failed: error Missing blob 7bb1033c298028d2c8966586b15961cdbe7e4a14fatal: Unpack error, check server log在stackoverflow上找到得解决办法:Switch原创 2016-08-30 20:27:27 · 8836 阅读 · 0 评论 -
repo sync单独下载manifest中某一个project
执行完repo init之后,在.repo目录里找到manifast,在manifast中查找要单独下载的project的path,然后执行repo sync 后面跟path即可,如repo sync bootable/recovery原创 2016-09-14 14:50:41 · 7990 阅读 · 1 评论 -
cherry-pick 同时修改commit message
git cherry-pick -e -x commitid其中-e可以在cherry-pick的同时修改commit message,-x会在commit message后面加上“cherry picked from commit ....”的字样原创 2016-09-18 14:52:10 · 3571 阅读 · 0 评论 -
显示Git栈内的所有备份
git stash list: 显示Git栈内的所有备份,可以利用这个列表来决定从那个地方恢复。原创 2016-10-09 14:31:36 · 517 阅读 · 0 评论 -
git push命令
git push命令用于将本地分支的更新,推送到远程主机。它的格式与git pull命令相仿。$ git push :其中 远程主机名可以通过git remote -v查看,输出中的第一列就是远程主机名原创 2016-10-10 18:16:54 · 403 阅读 · 0 评论 -
git忽略文件的正确配置
之前配过一次,在代码目录下建立.gitignore后加入了需要忽略的文件,但之后git status却发现.gitignore本身又被git给识别出了未跟踪的文件: (使用 "git add ..." 以包含要提交的内容).gitignore.gitignore今天突然想到,完全可以把.gitignore本省的文件名加入到.giti原创 2016-09-24 15:54:16 · 452 阅读 · 0 评论 -
git rebase修改历史提交
如果执行了一系列提交后, 想修改其中不是最近的某几次提交,可以执行git rebase -i然后在要修改的那几次提交前面改为edit 保存推出后,git会按顺序逐一提示要修改的提交,这时就可以按顺序修改这些提交,修改完后分别执行git add 和git commit --amend ,git rebase --continue即可原创 2016-09-21 23:05:12 · 1015 阅读 · 0 评论 -
拉取aosp特定分支和特定project代码并merge到本地分支
以recovery为例,在https://Android.googlesource.com/platform/bootable/recovery下可以找到recovery下的所有branch和tagsgit pull的-t 参数支持branch和tags,在本地project的路径下执行即可git pull https://android.googlesource.com/platfo原创 2016-10-11 11:50:42 · 746 阅读 · 0 评论 -
过滤git log的提交历史
如何用git log选择项目历史中的特定提交:按数量git log最基础的过滤选项是限制显示的提交数量。当你只对最近几次提交感兴趣时,它可以节省你一页一页查看的时间。你可以在后面加上-选项。比如说,下面这个命令会显示最新的3次提交:git log -3按日期如果你想要查看某一特定时间段内的提交,你可以使用--after 或 --befo原创 2016-10-11 13:31:29 · 8883 阅读 · 0 评论 -
过滤git log中的合并(merge)提交
过滤合并提交git log输出时默认包括合并提交。但是,如果你的团队采用强制合并策略(意思是merge你修改的上游分支而不是将你的分支rebase到上游分支),你的项目历史中会有很多外来的提交。你可以通过--no-merges标记来排除这些提交:git log --no-merges另一方面,如果你只对合并提交感兴趣,你可以使用--merges标记:git log原创 2016-10-11 13:34:02 · 13341 阅读 · 0 评论 -
如何单独下载aosp android下的某个project
以recovery为例,在https://android.googlesource.com/platform/bootable/recovery下可以找到recovery下的所有branch和tagsgit clone支持-b 因此还可以在下载这个project时制定branch或者tagsgit clone https://android.googlesource.com/plat原创 2016-10-11 10:33:52 · 1116 阅读 · 0 评论 -
git add添加多个文件
git add添加多个文件时,多个文件名之间用空格隔开原创 2016-10-12 10:22:28 · 17284 阅读 · 1 评论 -
Git commit 注释格式
Git commit 注释格式时间 2014-08-10 21:31:42 IT技术博客大学习原文 http://blogread.cn/it/article/6042?f=hot1主题 GitGit 本身并没有硬性限制注释的格式,不过,对于多人参与的项目来说, 好的注释风格更加有利于团队合作。 即使是自己用,也应当坚持实用好的注释风格, 一来是对自己的工作原创 2016-11-04 19:46:06 · 3735 阅读 · 0 评论 -
git stash用法总结
1 stash是本地的,不会通过git push命令上传到git server上2 使用git stash暂存修改时,除了用git stash直接保存外,还可以给每个stash加一个标记,git stash save git stash --helpsave [-p|--patch] [-k|--[no-]keep-index] [-u|--include-un原创 2016-12-04 14:26:14 · 1501 阅读 · 0 评论 -
git add -u与-A .三者的区别
git add -u:将文件的修改、文件的删除,添加到暂存区。git add .:将文件的修改,文件的新建,添加到暂存区。git add -A:将文件的修改,文件的删除,文件的新建,添加到暂存区。-u就是update的意思,只会标记本地有改动(包括删除和修改)的已经追踪的文件 -u, --update Update the index j原创 2016-12-08 23:23:10 · 5788 阅读 · 1 评论 -
git rm如何删除中文文件名的文件
用git rm直接删除中文文件名的文件时,不管加不加git提示的那个双引号,用git删除时都会提示路径找不到,正确的方法有两种1修改git的配置git config --global core.quotepath falsegit config --help中的说明为: core.quotePath The commands原创 2016-12-08 23:34:26 · 2595 阅读 · 0 评论 -
git对比同一project不同分支的差异
git difftool 分支名A 分支名B(分支名B可以用 . 代表当前分支)原创 2017-07-07 09:16:39 · 2536 阅读 · 0 评论