Git&Repo基本知识及命令

git项目上使用也有一年多了,repo是下载源码才开始了解到.
之前在公司的wiki上面也写过git使用的一些总结,但也不够全面且理解不够.

自己在项目上,git使用最常见的如下:
  • git init:初始化仓库,会在当前目录生成一个.git文件夹,保存git信息和配置;
  • git status:仓库状态,红色:本地文件目录改动的文件、绿色:添加到暂存区的文件;
  • git add : 添加修改的文件到暂存区;
  • git commit:将暂存区文件提交到本地仓库;
  • git push (origin remote_branch):将本地仓库提交到远程仓库;
  • git fetch:将remote分支内容同步到本地.git/FETCH_HEAD分支;
  • git merge:将其他分支合并到当前分支;
  • git pull:git fetch+git merge;
  • git stash [list][apply][drop][pop][show]:暂存恢复部分修改,以便在此处commit进行其他操作。
  • git log:log记录
  • git show commit_id:提交修改内容;
  • git diff xxx:文件修改的差异;
  • git rebase -i:衍合commit提交记录,整理提交记录,可以对历史的commit进行合并、拆分,内容修改等。
    但小弟未在remote 仓库尝试过,因为项目经理说git分支要保持一直向前,git rebase去操作前面的历史提交感觉有点不合适。
  • git commt --amend 修改commit提交信息;
  • git tag -a -v001:版本001的tag,命令后会让调用vim输入tag信息;
  • git reset HEAD/commit_id [--hard][--soft][--mixed]:移动HEAD到指定的提交点;
  • git reflog:所以操作记录;
  • git branch -a:所以分支,包括remote的,前标志“*”的代表当前所处分支;
  • git branch -D branch_id:删除分支;
  • git checkout -b new_branch:在当前的位置,切出新的分支;
  • ........:还有很多很多,包括每个命令都有很多参数,而且git reset、git fetch、git rebase都是要单独拿出来理解的。

Repo:

唯一用到的地方,就是下载android源码。

  • 先将repo脚本下载到本地

mkdir ~/bin
PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo
~/bin/repochmod a+x ~/bin/repo

  • 在新建一个文件夹存放源码,初始化repo:

mkdir WORKING_DIRECTORY
cd WORKING_DIRECTORY
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest

  • 在同步代码到本地

repo sync

  • repo branches:当前分支情况
  • repo status:当前项目状况,会列出每个project的大致状态,每个project自己的状态仍然有其内部的git管理。
  • 待补充。

参考资料:

Git\Repo入门

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容