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