git 基础命令大全
git add
把提交的文件的信息添加到暂存区中;使用 git commit 的时候就是依据暂存区中的内容进行提交的;
1)、git add <文件路径>:把指定的文件添加到暂存区中;
2)、git add -u [<文件路径>] 即 git add --update [<文件路径>]:添加所有修改、已删除的文件到暂存区;
3)、git add -A [<文件路径>] 即 git add --all [<文件路径>]:添加所有修改、已删除、新增的文件到暂存区,省略 <文件路径> 即为当前的目录;
4)、git add -i [<文件路径>] 即 git add --interactive [<文件路径>]
git commit
将暂存区中的文件提交到本地仓库中;
1)、git commit:把暂存区的文件提交到本地仓库,调用文件编辑器输入该次提交的描述信息,调用面板的时候,i :输入,Esc: 退出编辑,:wq:结束git commit,但是注意输入命令的时候都要是英文输入法;
2)、git commit -m "<提交信息的描述>":把暂存区中的文件提交到本地仓库中并添加描述信息;
3)、git commit -a -m "<提交的描述信息>":把所有修改、已删除的文件提交到本地仓库中;不包括未被版本库跟踪的文件,等同于先调用了 git add -u;
4)、git commit --amend:修改上次提交的描述信息
git push
把本地仓库的提交推送到远程仓库;
1)、git push:把 commit 的文件提交到当前仓库分支下;
2)、git push <远程仓库的别名> <本地分支名> :<远程分支名>:把本地仓库的分支推送到远程仓库指定的分支;远程仓库的别名一般默认是 origin;
3)、git push origin :<远程分支名> 或者 git push <远程仓库的别名> --delete <远程分支名> :删除指定的远程仓库的分支;
git pull
从远程仓库获取最新版本并合并到本地;首先会执行 git fetch ,然后执行 git merge,把获取到的分支的 HEAD 合并到当前分支;
1)、git pull :从远程仓库获取最新版本;
git branch
操作 git 的分支命令;
1)、git branch:列出本地的所有分支,当前所在分支以 “*” 标出;
2)、git branch -v:列出本地的所有分支并显示最后一次提交,当前所在分支以 “*” 标出;
3)、git branch <分支名>:创建新的分支,新的分支基于上一次提交建立;
4)、git branch -m [<原分支名称>] <新的分支名称>:修改分支名称,如果不指定原分支名称则为当前所在分支;
5)、git branch -M [<原分支名称>] <新的分支名称>:强制修改分支名称;
6)、git branch -d <分支名称>:删除指定的本地分支;
7)、git branch -D <分支名称>:强制删除指定的本地名称;
git checkout
检出命令,用于创建、切换分支等;
1)、git checkout <分支命令>:切换到以存在的指定分支;
2)、git checkout -b <分支名称>:创建并切换到指定的分支,保留所有的提交记录;等同于 “git brach” 和 “git checkout” 的命令合并;
3)、git checkout --orphan <分支名称>:创建并切换到指定的分支,删除所有的提交记录;
4)、git checkout <文件的名称>:替换掉本地的改动,新增的文件和已经添加到暂存区的内容不收影响;
git merge
合并分支;
1)、git merge <分支的名称>:把指定的分支合并到当前所在的分支下;
git log
显示提交记录;
1)、git log:打印所有的提交记录,从最新的开始;
2)、git log <commit ID>:打印从第一次提交到指定的提交的记录;
3)、git log -<指定的数量>:打印指定数量的最新提交的记录;
git reflog
打印命令操作记录,但是好像不展示 git add 以及 git push 的操作记录
git reset
还原提交记录;
1)、git reset [<文件路径>] 或者 git reset --mixed [<文件的路径>]:重置暂存区,单文件不受影响;相当于将 “git add” 命令更新到暂存区的内容撤出暂存区,可以指定文件;没有指定 commit ID 则默认当前 HEAD;
2)、git reset <commit ID> 或者 git reset --mixed <commit ID>:将 HEAD 的指向改变,撤销到指定的提交记录,文件为修改;
3)、git reset --soft <commit ID>:将 HEAD 的指向撤销,撤销到指定的提交记录,文件未修改;
4)、git reset --hard <commit ID>:将 HEAD 的指向改变,撤销到指定的提交记录,文件也被修改了;
5)、git reset --hard HEAD^:回退到上一个版本;如果是 HEAD^^ 回退到上两个版本;
git revert
生成一个新的提交来撤销某次提交,此次提交之前的所有提交都会被保留;
1)、git revert <commit ID>:生成一个新的提交来撤销某次提交;
git stash
文件暂存
1)、git stash:将文件改动暂存本地;
2)、git stash save "save message":执行暂存是,添加存储信息,便于查找;
3)、git stash list:查看暂存列表;
4)、git stash show 或者 git stash show -p:展示暂存做了哪些改动;默认展示第一个暂存的;如果想要看其他的,则需在后边加上 stash@{$num},例如查看第二个暂存的:git stash show stash@{1};
5)、git stash apply:应用某个存储,但不会把存储从存储类表中删除,默认使用第一个存储,即 stash@{0};
6)、git stash pop:恢复之前缓存的工作目录,将缓存从堆栈中的对应 stash 删除,并将对应修改应用到当前的工作目录下,默认为第一个 stash,即 stash@{0}
7)、git stash drop stash@{$num}:丢弃第 stash@{$num} 个存储区的存储,从列表中删除这个存储;
8)、git stash clear:删除所有缓存的 stash;
git tag
操作标签的命令;
1)、git tag:打印所有的标签;
2)、git tag <标签的名称> [<commit ID>]:添加轻量标签,指向提交对象的引用,可以指定之前的提交记录;
3)、git tag -a <标签名称> -m <标签描述信息> [<commit ID>]:添加带有描述信息的附注标签,可以指定之前的提交记录;
4)、git checkout <标签名称>:切换到指定的标签;
5)、git show <标签名称>:查看标签的信息;
6)、git tag -d <标签名称>:删除指定的标签;
7)、git push <远程仓库的别名> <标签名称>:将指定的标签提交到远程仓库;
8)、git push <远程仓库的别名> --tags:将本地所有的标签全部提交到远程仓库;
git mv
重命名文件或者文件夹;
1)、git mv <源文件/文件夹> <目标文件/文件夹>
git rm
删除文件或者文件夹
1)、git rm <文件路径>:移除跟踪指定的文件,并从本地仓库的文件夹中删除;
2)、git rm -r <文件夹路径>:移除跟踪指定的文件夹,并从本地仓库的文件夹中删除;
3)、git rm --cached:移除跟踪指定的文件,在本地仓库的文件夹中保留改文件;
git diff
比较版本之间的差异;
1)、git diff:比较当前文件和暂存文件中文件的差异,显示没有暂存起来的更改;
2)、git diff --cached 或者 git diff --staged:比较暂存区中的文件和上次提交时的差异;
3)、git diff HEAD:比较当前文件和上次提交时的差异;
4)、git diff <commit ID>:查看从指定的版本之后改动的内容;
5)、git diff <分支名称> <分支名称>:比较两个分支直降的差异;
6)、git diff <分支名称>. . . <分支名称>:查看两个分支分开后各自的改动内容;
git remote
操作远程库
1)、git remote:列出已经存在的远程仓库;
2)、git remote -v 即 git remote --verbose:列出远程仓库的详细信息,在别名后边流出 url 地址;
3)、git remote add <远程仓库的别名> <远程仓库的 url 地址>:添加远程仓库;
4)、git remote rename <原远程仓库的别名> <新的别名>:修改远程仓库的别名;
5)、git remote remove <远程仓库的别名>:删除指定名称的远程仓库;
6)、git remote set -url <远程仓库的别名> <新的远程仓库的 url 地址>:修改远程仓库的 url 地址;
git config
配置系统信息
1)、git config <--local | --global | --system> -l:查看配置信息; --local:仓库级;--global:全局级;--system:系统级
2)、git config -l:查看当前生效的配置信息;
3)、git config <--local | --global | --system> -e:编辑配置文件;
4)、git config <--local | --global | --system> --add <name> <value>:添加配置信息;
5)、git config <--local | --global | --system> --get <name>:获取配置项;
6)、git config <--local | --global | --system> --unset <name>;
7)、git config --global user.name <用户名> git config --global user.email <邮箱地址>:配置提交记录中的用户信息;
8)、git config --global http.postBuffer <缓存大小>:更改 git 缓存区的大小,如果提交的缓存内容交大,默认缓存较小,提交会失败;缓存大小单位:B,例如:524288000(500MB);
9)、git config --global color.ui true:调用 git status / git diff 命令时高亮显示或彩色展示改动状态
10)、git config --global credential.helper cache:配置可以缓存密码,默认缓存时间 15 分钟;
11)、git config --global credential.helper 'cache --timeour=<缓存时间>':配置密码的缓存时间,单位:秒;
12)、git config --global credential.helper store:配置长期存储密码;