当前位置: 首页 > 工具软件 > Tiger-Statis > 使用案例 >

tiger_git学习

章玮
2023-12-01
  1. git / repo 常用命令
    ·git
    1.git配置信息

apt-get install git-all
git config --global user.name “wanghui”

username 设置

git config --global user.email

邮箱账号设置

git --version

git

git --help

Git

git status [ file_name ]

查看指定文件状态(红色:在工作区新增、修改、删除文件;绿色:提交到缓存区文件)

git status

查看所有文件状态

  1. 工作区
    git 工作区域
    工作区(Workspace):开发过程中 存放和修改 代码的地方;
    暂存区(Index/Stage):.git 目录下的 index 文件,记录 git add 添加文件的相关信息(文件名、大小、timestamp…),不保
    存文件实体,通过 id 指向每个文件实体;
    本地仓库/版本库(Repository):保存了对象被提交过的版本,内容相较于工作区和暂存区更旧一点;
    远程仓库(Remote):托管代码的服务器,可能被分布在多个地点的处于协同关系的本地仓库修改。
    Note:
    任何对象都是在 工作区中创建和修改的;
    任何修改都是从进入暂存区才开始被版本控制的;
    只有把修改提交到本地仓库,该修改才会在仓库中留下痕迹。

工作区创建修改 ——> add ——> 从工作区添加到暂存区 ——> commit ——> 暂存区提交至服务器端
工作区 ——>

暂存区

git add [ file1]

[ file2 ] …

添加指定文件到暂存区

git add [ dir ]

添加指定目录到暂存区,包括子目录

git add .

添加当前目录的所有文件到暂存区

git rm [ file_path ]

删除暂存区/分支上的文件,同时工作区也会删除此文件

git rm --cached [ file_path ]

删除暂存区/分支上的文件,但是本地需要该文件,push前重新add即可有该文件

暂存区 ——>

本地仓库/版本库

git commit -m '该次提交说明 ’

将暂存区 ——> 资源库(版本库)

git reset HEAD [ file_name ]

移除不必要的,但是添加到暂存区文件

git reset HEAD^

去掉上一次的提交(直接变成 add 之前的状态)

git reset --soft HEAD^

去掉上一次的提交(变成 add 之后,commit 之前的状态)

  1. 远程操作

git fetch [ remote ]

下载远程仓库的所有变动

git remote -v

显示所有远程仓库

git remote show [ remote ]
git remote add [ short_name]
]

显示某个远程仓库的信息

git pull [ remote]

[ url

[ branch ]

增加一个新的远程仓库并命名
取回远程仓库的变化,并与本地分支合并

git push [remote] [ branch ]

上传本地分支到远程仓库

git push [ remote ] --force

强行推送当前分支到远程仓库,即使有冲突

git push [ remote ] --all

推送所有分支到远程仓库

  1. 分支操作
    git branch
    git branch

显示所有本地分支

git branch -r

查看远程分支

git branch -a

显示所有分支(本地+远程)

git checkout branch_name

切换到指定分支,并更新工作区

git checkout -

切换到上一个分支

git checkout -b branch

新建一个分支,并切换到该分支

git branch branch_name

新建一个分支,但仍停留在当前分支

git branch branch commit

新建一个分支,指向指定的 commit

git branch --track branch remote_branch

新建一个分支,与指定的远程分支建立追踪关系

git branch --set-upstream branch remote-branch

建立追踪关系,在现有分支与指定的远程的分支之间

git merge branch

合并指定分支到当前分支

git cherry-pick commit

选择一个commit,合并至当前分支

git branch -d <分支名>

删除分支

git push origin --delete branch_name

删除远程分支

git branch -dr remote/branch

删除远程分支

  1. 查看信息

git status

显示有变更的文件

git log

显示当前分支的版本历史

git log --stat

显示commit历史,以及每次commit发生变更的文件

git log -S [ keyword ]

根据关键词,搜索提交历史

git log -p [file]

diff

git diff

(存在更改的文件更改部分内容)

git reflog

·repo

1.repo基本命令
1.1 repo基本概念
(1)repo:管理N个git仓库的工具,用于下载、管理Android项目的软件仓库;
(2)manifest.xml: 该脚本用于记录有哪些git仓库需要一起下载下来的,组成一个完整的项目;
(3)project: 是git仓库的组成单元;

1.2 repo init命令
repo init -g all -u ssh://wanghui23@git.mioffice.cn:29418/platform/manifest.git -b dev -m bsp-taoyao-r.xml --repo-url=ssh://wanghui23@git
.mioffice.cn:29418/tools/repo.git --no-repo-verify
-u [manifest URL]

指定 manifests 远程git仓库的 URL,manifests库是整个项目的清单文件;指定 manifests 远程git仓库的 URL,
manifests库是整个项目的清单文件;

-b [btanchname]

manifest.xml 相应的 branch 分支;

-m [manifest name(bsptaoyao-r.xml)]

指定所需要的manifests库中的清单文件;

–repo-url=[URL]

设定repo的版本地址;

–no-repo-verfify

在下载repo库时,会对源码进行检查;设定不要对repo中的里程碑签名进行严格验证

===> 本地会在当前目录新建 .repo 子目录

1.3 repo sync
-c

当前分支

-j jobs

线程

–no-tags

不获取tag

  1. repo start
    repo start 创建分支
    repo checkout -b <分支名> 切换并创建分支
    repo abandon<分支名>
    删除指定分支

  2. repo upload 向Gerrit提交
    repo
    repo
    repo
    repo

upload
upload
upload
upload

. ——点不能省略,请配合repo start branch_name 使用,当前仓库提交change到gerrit上
–cbr . ——当前仓库有多个分支时,仅提交当前指向的分支的change到gerrit上,其他分支忽略
-d . —— 提交一个draft到gerrit上,draft的概念请参考 新版Gerrit使用说明 中的 提交一个草稿draft 部分
-t . ——提交change的同时,会将你的本地branch name作为该change的topic

4.repo status 显示当前分支状态

 类似资料: