repo init & git responsity config

1. Git Config:
git config --global user.name "Shilin Yi"
git config --global user.email "yishilin@gmail.com"
   配置git的参数变量,它可以带以下2个参数:
   --system,针对系统的所有用户的,对应的配置文件在/etc/gitconfig
   --global,针对系统当前用户的,对应的配置文件在~/.gitconfig
   不带参数,针对当前git仓库的,对应的配置文件在.git/config
   如果在个人pc上使用git,加上参数--global即可
   如果在公共服务器上使用git,则一定不要带那2个参数

git push ssh://git@dev.lemote.com/rt4ls.git master // 把本地仓库提交到远程仓库的master分支中
与以下两条语句相同:
添加一个标记,让origin指向ssh://git@dev.lemote.com/rt4ls.git,也就是说你操作origin的时候,
实际上就是在操作ssh://git@dev.lemote.com/rt4ls.git。origin在这里完全可以理解为后者的别名

git remote add origin ssh://git@dev.lemote.com/rt4ls.git
git push origin master
默认情况下这条语句等价于提交本地的master branch到远程仓库,并作为远程的master分支

git push origin test:master         // 提交本地test分支作为由origin指向的远程的master分支
git push origin test:test           // 提交本地test分支作为由origin指向的远程的test分支
如果想删除远程的分支呢?类似于上面,如果:左边的分支为空,那么将删除:右边的远程的分支
git push origin :test              // 刚提交到远程的test将被删除,但是本地还会保存的,不用担心

远程分支
我们用 (远程仓库名)/(分支名) 这样的形式表示远程分支
git branch -r  origin/HEAD -> origin/master  origin/master
git remote -vorigin  git@yottaa.unfuddle.com:yottaa/router-fm.git (fetch)origin  git@yottaa.unfuddle.com:yottaa/router-fm.git (push)
git fetch origin  fetch由origin标示的远程git@yottaa.unfuddle.com:yottaa/router-fm.git到本地的origin/master上(但是你不能修改origin/master上的内容)
说明:这里origin使默认的名字,你也可以取别的名字

Git pull/fetch
git fetch origin master:test  #从origin指定的远程获取最新的版本到本地的test分支上,不会自动进行merge
git pull origin master           #从origin指定的远程获取最新的版本到本地,并自动进行merge到本地当前分支上


repo 用法:相当于git 仓库repository
repo init:初始化 repo (repo是python脚本)
repo init -u URL -b branch -m “manifest.xml” -> 文件

repo sync [project list]
第一次执行,如果只执行repo sync则会下载所有的项目代码
如果指定project list则只会下载指定的项目代码

repo sync 如果不是第一次执行:
相当于执行 git remote update 或 git rebase origin/branch
repo sync会更新 .repo/manifest 文件
如果在merge 的过程中出现冲突,这需要手动运行git rebase --continue


repo update[ project-list ]
上传修改的代码 ,如果你本地的代码有所修改,那么在运行 repo sync 的时候,会提示你上传修改的代码,
所有修改的代码分支会上传到 Gerrit (基于web 的代码review 系统),
Gerrit 收到上传的代码,会转换为一个个变更,从而可以让人们来review 修改的代码。

repo diff [ project-list ]
显示提交的代码和当前工作目录代码之间的差异。

repo download  target revision
下载特定的修改版本到本地,例如:  repo download pltform/frameworks/base 1241 下载修改版本为 1241 的代码

repo start newbranchname .
创建新的branch分支。 "." 代表当前工作的branch 分支。

repo prune [project list]
删除已经merge 的 project

repo foreach [ project-lists] -c command
对每一个 project 运行 command 命令

repo forall -c

repo status
显示 project 中每个仓库的状态,并打印仓库名称。



Git配置KDiff3
文章分类:软件开发管理
Git支持很多merge工具, 我习惯用KDiff3

配置命令如下

git config --global -l
查看已经配置了什么merge工具

如果没有merge.tool和mergetool.kdiff3.path
则输入
git config --global --add merge.tool kdiff3
git config --global --add mergetool.kdiff3.path "D:/Program Files/KDiff3/kdiff3.exe"

路径根据你的安装位置

如果有

则输入
git config --global merge.tool=kdiff3
git config --global mergetool.kdiff3.path="D:/Program Files/KDiff3/kdiff3.exe"


posted @ 2017-03-27 18:57  neilwang  阅读(1691)  评论(0编辑  收藏  举报