前言
目前市面上存在的两种版本管理工具Git
和Svn
,Git
具有优越的版本管理能力,被广泛应用于 github、gitlab 等开源平台。
Git 工作流程
Git 分为 4 个工作区域:
- 工作区:指在本地仓库中的全部代码区域
- 暂存区:指在本地仓库中通过 git add 后的代码区域
- 本地仓库:指在本地仓库中的 git commit 后的代码区域
- 远程仓库:指托管代码的服务器
常用指令
git clone
git clone 命令用于将存储库克隆到本地git clone [url]
git init
git init 命令用于在目录中创建新的 git 仓库
1 | git init //创建新的git仓库,在当前路径下生成.git目录 |
git remote
git remote 用于管理跟踪远程仓库
1 | git remote -v //查看链接的远程仓库的地址 |
git checkout
git checkout 命令用于切换分支
1 | git checkout [branchName] //切换分支 |
git branch
git branch 命令用于查看、创建、删除分支
1 | git branch //查看本地分支 |
git tag
git tag 用于创建、删除、查看标签
1 | git tag [tagName] //新建标签 |
git add
git add 命令用于将本地文件添加到暂存区
1 | git add [file1] [file2] //添加指定文件到暂存区 |
git commit
git commit 命令用于将暂存区内容添加到本地仓库中
1 | git commit -m 'xxx' //将暂存区文件添加到本地仓库,并记录下备注 |
git push
git push 命令用于将本地分支推送到远程仓库
1 | git push [remoteName] [branchName] //推送分支(当处于需要推送的分支时,branchName可省略) |
git pull
git pull 命令用于从远程仓库拉取代码并合并到本地当前分支
1 | git pull //从远程仓库拉取代码合并到本地,等同于 git fetch && git merge |
git fetch
git fetch 命令用于从远程获取代码库
1 | git fetch //从所有远程仓库拉取当前分支代码 |
git cherry-pick
git cherry-pick 命令用于获取指定的 commit,可以将分支 a 上的 commit 1,复制到分支 b 上
1 | git cherry-pick [commitId] // 获取指定的commit |
git merge
git merge 命令用于分支合并,将其他分支的内容合并到当前分支中
1 | git merge [branchName] |
git rebase
git rebase 用于分支变基
1 | git rebase master // 将当前分支变基到 master 分支上 |
git rebase -i 交互模式:
1 | git rebase -i [commitId] // 基于 commitId 进行 rebase,交互式变基,可以重新编辑 commit,比如压缩合并 |
git reset
git reset 命令用于回退版本,可以指定退回某一次提交的版本
1 | git reset HEAD^ //回退所有内容到上一个版本 |
git revert
git revert 指令用于回滚提交,可以回滚某一次提交记录。
1 | git revert [commitId] // 回滚某次提交 |
git stash
git stash 用于暂存文件
1 | git stash // 暂存文件 |
git reflog
git reflog 记录了所有的 commit 操作记录,便于错误操作后找回git reflog
git rm
git rm 用于从 git 仓库删除指定文件或目录
1 | git rm [filname] |
git log
git log 命令用于查看 git commit 记录
1 | git log // 查看所有 commit 记录 |