常用操作指令
命令 | 作用 |
---|---|
git add [file] 或 . | 将file或所有文件的改动从工作区添加到暂存区 |
git commit -m ‘提交说明’ | 将改动从暂存区提交到本地仓库 |
git pull | 拉去远程仓库的改动至工作区 |
先 git fetch, 然后 git merge | 先拉去远程仓库改动,然后合并到工作区(相当于git pull) |
git push origin master | 将改动推送到远程仓库,一般也可以用git push |
git配置操作命令
git的配置文件为.gitconfig,它可以在用户主目录下(全局配置),也可以在项目目录下(项目配置)。
命令 | 作用 |
---|---|
git config --list | 列出当前配置 |
git config --locajl --list | 列出repository的配置 |
git config --global --list | 列出全局配置 |
gti config --system --list | 列出系统配置 |
git config --global user.name ‘your username’ | 配置用户名 |
git config --global user.email “your email” | 配置用户邮箱 |
git config --global user.password “your password” | 配置用户密码 |
git config --global color.ui auto | 配置git命令输出为彩色的 |
git config --global core.editor vi | 配置git使用的文本编译器 |
git config --global merge.tool vimdiff | 配置解决冲突时使用哪种差异化分析工具 |
工作区的操作命令
命令 | 作用 |
---|---|
git add [file] [file] … | 提交工作区中指定文件到暂存区 |
git add [dir] | 提交工作区中指定文件夹中的所有文件(包括子目录)到暂存区 |
git add -a | 提交所有文件到暂存区 |
git branch | 查看本地分支 |
git branch -a | 查看所有分支 |
git branch [branchname] | 创建分支 |
git checkout [branchname] | 切换分支 |
git checkout -b [branchname] | 创建并切换分支 |
git clone [url] | 下载一个项目和它的整个代码历史 |
git clone [url] [project-name] | 下载一个项目和它的整个代码历史并将该项目重命名 |
git commit -m ‘提交说明’ | 将暂存区改动提交到本地仓库 |
git checkout – [file] | 当改乱了工作区某个文件的内容,而且尚未进行add命令,想直接丢弃工作区的修改时使用此命令 |
git diff | 查看工作区和暂存区的区别 |
git diff --cached | 查看暂存区和版本库(你的分支)的区别 |
git diff HEAD – [file] | 查看工作区和最新版本库的区别 |
git init | 在当前目录下新建一个git仓库 |
git init [project-name] | 新建一个目录,并将它初始化为git仓库 |
git log | 查看提交日志 |
git log --pretty=oneline | 简化日志输出信息 |
git merge [branchname] | 合并某分支到当前分支 |
git reset HEAD 或 [file]… | 取消暂存区上次add的文件(返回当前版本,HEAD表示当前版本) 或 某个文件 |
git reset --mixed HEAD^ | 返回是一个版本push前的状态 |
git reset --hard HEAD^ 或 commit_id | 版本回退,回退到上一个版本(HEAD^^:往上2个版本;HEAD~100:往上100个版本); commit_id:可回退到commit_id对应的版本 |
git rm [file] [file]… | 删除工作区文件,并且从暂存区中删除对应的文件记录 |
git rm --cached [file] | 从暂存区中删除该文件,但是工作区中依然还有该文件 |
git reflog | 查看命令历史 |
git status | 分支当前的工作区和暂存区状态 |
操作说明
一、初始化git仓库
git init
在项目目录下执行git init即可创建一个空的git仓库。创建成功后会打印以下提示
Initialized empty Git repository in 创建仓库的地址/.git/
即在该目录下多了一个.git
文件。
二、修改提交
git add README.MD //添加README.MD文件到暂存区
git add -a //添加所有文件到暂存区
git commit -m '添加一个文件' //将文件提交到本地仓库,单引号里面写的是对本次提交的声明
git push //提交修改到远程仓库
git fetch //
git pull // 获取远程代码并合并本地的版本
三、分支
查看分支
git branch //查看本地分支情况
git branch -r // 查看远程分支情况
git branch -a //查看全部分支
创建分支
git checkout -b [branchName] //在当前分支上创建新分支并切换换新创建的分支
合并分支
git merge [branchName] //将【branchName】合并到当前分支
tip:git才用Fast forward模式进行合并,这种合并模式在删除分支后会丢失部分信息,因此可以采用以下语句进行合并
git merge [branchName] --no-ff
或
git merge --no-ff -m '提交内容描述' [branchName]
tip:–no-ff 参数是用来禁用Fast forward 模式的,-m参数是执行合并后直接提交
删除分支
git branch -d [branchName] // 删除本地分支
git push origin --delete [branchName] //删除远程分支
五、版本回退
git reset HEAD^ // 回退到上一个版本add之前的状态
git reset --mixed HEAD^ // 是上面命令的全写,执行结果相同
git reset --hard HEAD^ // 回退完全到上一个版本的状态
git reset --soft HEAD^ // 回退上一个版本commit之前的状态
//回退后需要强推一下分支完成全程更改
git push --force //将当前修改强推至远端
六、标签管理
查看标签
git tag // 查看所有标签
git show v0.1 //查看v0.1标签的详细内容
打标签
git tag v1.0 // 在最新的提交后面打上v1.0的标签
git tag -a v0.1 -m "标签说明:版本0.1发布“ 6972298 //对指定的commit打标签,假设指定的commit id为6972298(其中 -a 是添加标签, -m 是给标签添加说明)
git push origin v0.1 //将标签同步到远程仓库
删除标签
git tag -d v0.1 //删除本地标签v0.1
git push origin :refs/tags/v0.1 //删除远程标签