git常用指令
git常用指令
- 基础概念
- (.git所在的文件路径)
- 工作区(和.git在同一个目录下的文件夹/文件)
- .git:版本库
- stage(暂存区:git之所以比其他的版本管理优秀就在于它管理的是修改(暂存区),而不是文件)
- master(git默认创建的主分支)
- HEAD(指向当前分支的指针)
- git init:创建版本库,初始化
- git add:把文件添加到暂存区,用于之后提交到本地仓库
- git add .:添加所有的修改到暂存区
- git add :添加某个文件的修改到暂存区
- git add
- git commit:把暂存区的修改提交到当前分支
- git commit -m "修改信息"
- git commit -m "修改信息"
- git status:查看当前状态
- git diff:对比当前做了哪些改动
- git diff HEAD -- :查看工作区和版本库中最新版本的区别
- git log:查看提交日志(从近到远)
- git log --pretty-oneline:日志格式为一行,方便阅读
- git reflog:查看你操作的每一次命令
- git log --graph:查看分支合并图
- git reset:回退
- HEAD:是指向当前分支的指针
- git reset --hard HEAD^:回退到上一个版本(
^符号
的数量代表向上回退的版本数量)
- git reset --hard HEAD~100:向后回退100个版本
- git reset --hard 版本号:回退到某一个版本(版本号为commitID哈希值的前7位)
- git checkout -- :工作区内容回退到最近一次
git add
或git commit
的状态,就是撤销之前的修改。
- 如果是修改后还未
add
到暂存区,就回退到和版本库一模一样的状态。
- 如果是已经
add
到暂存区后又做了修改,就回退到添加暂存区后的状态。
- git reset HEAD :把暂存区的修改撤销掉,重新放回工作区。
- git rm :删除文件
- git push:把当前分支推送到远程仓库
- git push -u origin master:第一次使用加上
-u
- git push origin :推送分支(origin为远程库的分支名)
- git pull:抓取远程库的分支
- git clone:克隆
- 创建并切换分支
- git checkout -b :创建并切换到
branchName
分支上(旧版本写法)。相当于以下两句:
- git branch :创建分支
- git checkout :切换分支
- git switch -c :创建并切换到
branchName
分支上(新版本写法)。相当于以下两句:
- git branch :创建分支
- git switch :切换分支
- git checkout -b origin/:创建远程库的分支(remote_branch)到本地(local_branch),本地分支名最好和远程分支名一致。
- git branch --set-upstream-to=origin/ :指定本地分支(local_branch)和远程分支(remote_branch)的链接。
- git branch:查看当前分支
- 合并分支
- git merge :合并指定分支到当前分支上,如果可能,会使用
Fast Forward
模式
- git merge --no-ff -m "merge_dec_info":强制禁用
Fast Forward
模式
- 删除分支
- git branch -d :删除分支
- git branch -D :强行删除分支
- git stash:藏匿当前修改
- git stash list:查看藏匿
- git stash pop:恢复并删除stash,相当于以下两步:
- git stash apply:恢复stash
- git stash drop:删除stash
- git cherry-pick :把某次提交的修改内容,在当前分支重复操作提交一次。
- git remote:查看远程库
- git remote -v:远程库抓取和推送的地址
- git remote add origin 远程仓库地址:本地仓库关联一个叫
origin
的远程仓库。
- git remote rm origin:删除远程库
- git tag:查看标签
- git tag :打标签
- git tag :给某次
commit
打上标签
- git show :查看标签信息
- git tag -a -m "tag_info" :带备注信息的标签,
-a
指定标签名,-m
指定标签信息。
- git tag -d :删除标签
- git push origin :推送标签
- git push --tags:推送所有的本地标签
- 删除远程库的标签:
- git tag -d :删除本地标签
- git push origin :refs/tags/:删除远程标签