Git 简介
在开发的过程中,我们存在着多人协作的需求,这时候项目的版本控制工具就应运而生,主要分为集中式与分布式。
常见的版本控制系统有:svn、git、cvs 等。
常用的公网代码托管平台有:GitHub、Gitee 等。
Git 作为一款开源的分布式版本管理系统,一直深受开发者的喜爱。其工作流程大致如下:
Git 工作流由工作流我们可以得到,Git 常用命令大概有这么几种:
- clone(克隆):从远程仓库中克隆代码到本地仓库;
- checkout(检取):从本地仓库中检取出一个仓库分支;
- add(添加):在提交前先将代码保存到暂存区;
- commit(提交):将代码提交到本地仓库;
- fetch(抓取):从远程仓库更新版本库到本地仓库,不进行合并;
- pull(拉取):从远程仓库更新版本库到本地仓库,并自动进行合并;
- push(推送):将本地仓库修改的内容推送到远程仓库;
Git 命令详解
用户信息命令
// 查看用户信息
git config --global user.name
git config --global user.email
// 配置用户信息
git config --global user.name {用户名}
git config --global user.email {邮箱}
仓库基础命令
// 仓库初始化
git init
// 查看仓库状态
git status
/**
* 未暂存(unstaged)录是Git仓库的根目录。
* 已暂存(staged)
* 已提交(committed)
*/
// 查看日志
git log
// 查看最近一次提交的简短信息
git log --oneline
// 查看最近一次提交的详细信息
git log -p
// 查看最近两次提交的详细信息
git log -p -2
克隆命令
// 克隆远程仓库
git clone git@github.com:username/repository.git
// 克隆远程仓库,并指定本地仓库名
git clone git@github.com:username/repository.git local_repository_name
// 克隆远程仓库,并指定本地仓库名,并拉取所有分支
git clone --recursive git@github.com:username/repository.git local_repository_name
拉取命令
// 从远程仓库拉取所有分支
git pull
// 从远程仓库拉取指定分支
git pull {分支名/origin}
// 从远程仓库拉取指定分支,并自动合并
git pull --rebase {分支名/origin}
暂存区命令
// 将单个文件添加到暂存区
git add {文件名}
// 将所有文件添加到暂存区,包括(untracked files)未被跟踪的文件,但不会处理 deleted files
git add .
// 将所有文件添加到暂存区,包括 untracked 与 deleted
git add -A
git add --all
// 将所有文件添加到暂存区,不会处理 untracked files
git add -u
本地仓库命令
// 删除文件,并添加到暂存区
git rm {文件名}
// 强制删除文件,并添加到暂存区(用于被 .gitignore 的文件)
git rm -f {文件名}
// 提交到本地仓库
git commit -m "提交信息"
// 同时添加(add)和提交(commit)更改
git commit -am "提交信息"
远程仓库命令
// 查看远程仓库信息
git remote -v
// 远程仓库添加,本地项目就与远程 Git 仓库建立连接
git remote add {远程仓库名/origin} {远程仓库地址}
// 远程仓库删除
git remote rm {远程仓库名}
// 远程仓库更新
git remote update
// 推送到远程仓库
git push {远程仓库名/origin} {分支名/master}
// 强制推送到远程仓库
git push -f {远程仓库名/origin} {分支名/master}
git push -f origin HEAD
分支命令
// 查看分支信息
git branch
// 创建分支
git branch {分支名}
// 切换分支
git checkout {分支名}
// 创建并切换分支
git checkout -b {分支名}
// 合并分支
git merge {分支名}
// 删除分支
git branch -d {分支名}
// 强制删除分支
git branch -D {分支名}
标签命令
// 查看标签信息
git tag
// 创建标签
git tag {标签名}
// 删除标签
git tag -d {标签名}
// 强制删除标签
git tag -D {标签名}
重置命令
// 重置暂存区,并将所有未跟踪的文件还原到最近一次提交的状态
git reset --hard HEAD^
// 重置暂存区,还原到最近第三次提交的状态
git reset --hard HEAD~3
// 指定提交ID重置暂存区
git reset --hard {commit_id}
网友评论