GIT ANG REPO USAGE
1 git command
1.1 git add
git add . #将文件先暂存到staging area, stages new and modified, without deleted
git add -A #states all
git add -u #states modified and deleted, without new
git add -i #进入互动模式
git add filename #新增一个文件
git add modify-file #修改过得文档也要加add,不然在commit时要加-a
1.2 git rm #删除文件
git rm filename
1.3 git mv #修改文件名,或搬移目录
git mv filename newfilename
1.4 git status #查看状态
1.5 git commit
git commit
git commit -m 'commit message'
git commit -a -m "message"
git commit -a -v #-v查看修改的内容
1.6 git branch
git branch #列出所有的分支
git branch new-branch #产生新的分支
git branch new-branch master #master产生新的分支
git branch -d branch #删除分支
git branch -D branch #强制删除分支
git checkout -b new-branch #产生新分支并切换过去
git branch -r #列出所有repository branch
git branch -a #列出所有分支
1.7 git checkout
git checkout branch-name #切换到branch-name
git checkout master #切换到master
git checkout -b new-branch master #master建立新的分支,并切换过去
git checkout -b new-branch #由当前分支建立新分支
git checkout -b new-branch origin #origin建立分支
git checkout filename #还原状态到repository状态
git checkout HEAD . #将所有文件都checkout出来
git checkout xxxx . #xxxxcommit的编号的前四位,将xxxx编号的版本checkout出来
git checkout – * #恢复上一次commit的状态
1.8 git diff
git diff master #master对比看哪些文件不同
git diff –cached #比较staging arearepository
git diff tag1 tag2 #tag1tag2比较
git diff tag1:file1 tag2:file2 #tag1file1tag2file2比较
git diff #当前与staging area比较
git diff HEAD #当前与repository比较
git常用指令git diff new-brach #当前与newbranch的比较
git diff –stat
1.9 git tag
git tag v1 ebff #commit ebff810c462234433434323334343设置标记v1
git tag 版本1 ebff #tag可以为中文
git tag -d 版本1 #删除标记版本1
1.10 git log
git log #列出所有log
git log –all
git log -p #列出log及修改的内容
git log -p filename #filenamelog及修改内容列出来
git log –name-only #列出哪些文件被修改
git log –stat –summary #列出各个版本间的改动及行数
git log filename #这个文件的所有log
git log directory #这个目录的所有log
git log -S'FUNC()‘ #列出由FUNC()这个字符串的log
git log –no-merges #不要列出mergelog
git log –since="2 weeks ago" #列出最后两周的log
git log –pretty=oneline
git log –pretty=short
1.11 git show
git show ebff #显示commit ebff810xxxxxxxxxxx的内容
git show v1 #显示tag v1的修改内容
git show #显示tag:v1文件修改内容
git show HEAD #当前版本的修改文件
git show HEAD^ #前一版本所有修改的文件
git show HEAD~4 #4版本的修改文件
1.12 git reset
git reset –hard HEAD^ #还原到前一版本
git reset –soft HEAD~3
1.13 git grep
git grep "hello" v1 #tag:v1中是否由“hello"字符串
git grep "hello"
1.14 git stash
git stash #放进暂存区
git stash list #列出暂存区的文件
git stash pop #取出最新的一笔,并移除
git stash apply #取出但不移除
git stash clear #清除暂存区
1.15 git merge
git merge #合并
1.16 git blame
git blame filename #列出此文件所有commit的记录
1.17 git ls-files
git ls-files -d #查看已删除的文件
git ls-files -d | xargs git checkout – #将已删除的文件还原
1.18 git revert
git revert HEAD #回到前一此commit的状态
git revert HEAD^ #回到上上一次的状态
1.19 git remote
git remote
git remote add new-branch /project.git #增加远程repositorybranch
git remote show #列出现在由多少repository
git remote rm new-branch #删除服务器上的新分支
git remote update #更新所有repository branch
1.20 git fetch
git fetch origin
1.21 git push
git push originheads/xxx-branch
2 repo command
2.1 repo init
repo init -u URL #在当前目录安装repo,该命令创建一个.repo文件夹,文件夹中包含一些git仓库,这些仓库包含着repo源代码何manifest文件。
++ -u:制定一个获取manifest仓库的URL ++ -m:选择一个仓库中的manifest,默认是l ++ -b:制定一个版本,也就是一个特别的manifet-branch
2.2 repo sync
repo sync [PROJECTLIST] #下载新的改变和更新当前目录下的工作文件,该命令相当与git remote update;git rebase origin/BRANCH (BRANCH本地分支)
++ -d:将制定工程切换到特定的manifest版本 ++ -s:同步当前工程到一个由manifet-server元素指定的可编译的版本 ++ -f:继续同步其他工程,即使有错误发生
2.3 repo upload
repo upload [PROJECTLIST] #上传修改的代码
2.4 repo diff
repo diff [PROJECTLIST]
2.5 repo download
repo download target revision #下载特定的版本到本地
2.6 repo forall
repo forall -c command #对每一个项目执行command
2.7 repo foreach
repo foreach [project list -c command #project执行command
2.8 repo start
repo start newbranchname . #创建一个新分支
2.9 repo prune
repo prune [project list] #删除已经mergeproject
2.10 repo status
repo status #显示每个仓库的状态
创建本地repo服务器
mkdir repositories
cd repositories
git init –bare manifest.git
git init –bare project1.git
git init –bare project2.git
cd -
mkdir myrepo
cd myrepo
git clone /path/to/manifest.git
cd manifest
create l file with following content:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
  <remote name="korg"  fetch="/path/to/repositories/" review="review.source.android" />
  <default revision="master" remote="korg" />

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。