世至其美

Git和Repo详细使用教程

1.用户配置

git config --global user.name "hqber"
git config --global user.email hqber@qq.com

--local>--global>--system

//查看配置
git config -l

2.Git三棵树

工作区:就是你在电脑里能看到的目录。

暂存区:英文叫 stage 或 index。一般存放在 .git 目录下的 index 文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。

版本库:工作区有一个隐藏目录 .git,这个不算工作区,而是 Git 的版本库。

3.Git 基本操作

Git 常用的是以下 6 个命令:git clone、git push、git add 、git commit、git checkout、git pull,后面我们会详细介绍。

说明:

workspace:工作区

staging area:暂存区/缓存区

local repository:版本库或本地仓库

remote repository:远程仓库

3.1 创建仓库命令

命令说明
git init初始化一个 Git 仓库,在执行完成 git init 命令后,Git 仓库会生成一个 .git 目录,该目录包含了资源的所有元数据,其他的项目目录保持不变。
git clone从现有 Git 仓库中拷贝项目到本地目录

3.2 提交与修改

命令说明
git add添加文件到仓库
git status查看仓库当前的状态,显示有变更的文件
git diff比较文件的不同,即暂存区和工作区的差异
git commit提交暂存区到本地仓库
git reset回退版本
git rm删除工作区文件
git mv移动或重命名工作区文件。
git rebase -i HEAD~5将仓库往后5个代码合并成一个提交(编辑文件,第一个是pick,剩下是s)

3.3 提交日志

命令说明
git log查看历史提交记录,--oneline 选项来查看历史记录的简洁的版本;--graph选项查看历史中什么时候出现了分支、合并;--reverse 参数来逆向显示所有日志;--author=xxxx查找指定用户的提交日志可以使用命令;--since、 --before、 --until 和 --after,指定日期;--no-merges 选项以隐藏合并提交;-p查看某文件详细提交历史记录;--start显示版本历史修改记录和修改过的相关文件;
git blame <file>以列表形式查看指定文件的历史修改记录
git show查看某个commit的修改记录
git reflog查看命令的历史记录

3.4 远程操作

命令说明
git remote远程仓库操作
git fetch从远程获取代码库
git pull下载远程代码并合并
git push上传远程代码并合并

4.Git分支管理

命令说明
git branch (branchname)创建分支命令
git branch没有参数时,git branch 会列出你在本地的分支
git branch -d (branchname)删除分支
git checkout (branchname)切换分支命令
git checkout -b (branchname)创建新分支并立即切换到该分支下,从而在该分支中操作。
git merge将分支合并到主分支, 也可以选择在合并之后直接删除被并入的分支。

合并冲突:合并并不仅仅是简单的文件添加、移除的操作,Git 也会合并修改。

5.Git标签

命令说明
git tag -a <tagname> -m "标签"指定标签信息命令
git tag -s <tagname> -m "标签"PGP签名标签命令

6.repo和git的常用指令

Repo是简化Git命令,对多个仓库进行管理。

Git是对单仓库管理。

RepoGit
repo status (可以同时对多个仓库操作)git status
repo checkout branchNamegit checkout branchName
repo sync .git fetch
repo upload .git push ssh://[username]@[server]:[port][projectname] [localbranch]:refs/for/[remote branch]
repo start branchNamegit checkout -b branchName -t [target branch]
repo init-

7.Git版本回退

​ git reset --hard <commit_id>

回到过去:git log 查看提交历史,找到回退的版本的commit_id

穿越未来:git reflog 查看命令历史记录,找到回到未来的版本的commit_id

8.其他撤销命令

git checkout -- <modified_file> 撤销对未提交&未暂存文件的修改

git revert <commit_id> 撤销已提交的修改

git reset --hard HEAD 撤销未提交文件的修改

9.寻求帮助

git -help

git command --help

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »