git安装
一路next
测试是否安装成功
git version
git配置
git config --global user.name "yourname" #用户名
git config --global user.email "xxx@xxx.com" #邮箱
git config --global core.quotepath false #配置当前用户的编码项,可以解决中文编码问题
git config -l #查看信息
git config --local core.ignorecase false #配置当前项目不忽略文件大小写,git默认忽略文件名的大小写,这点值得注意
git常用命令
mkdir test #创建test目录
cd test #进入test目录
git init #使用git init初始化当前仓库
git init #在当前目录新建一个仓库
git init [project-name] #在一个目录下新建本地仓库
git clone [url] #克隆一个远程仓库
git diff HEAD -- #查看最新本地版本库和工作区所有文件的区别
git diff HEAD -- [file-name] #查看最新本地版本库和工作区文件的却别
git diff HEAD^ -- [file-name] #查看本地上一个版本和工作区文件的却别
git diff [local branch] origin/[remote branch] #比较本地分支和远程分支的区别
git status [file-name] #查看指定文件状态
git status #查看所有文件状态
git add .#提交到暂存区
git add [file-name1] [file-name2] ... 从工作区添加指定文件到暂存区
git add . #将工作区的被修改的文件和新增的文件提交到暂存区,不包括被删除的文件
git add -u . #u指update,将工作区的被修改的文件和被删除的文件提交到暂存区,不包括新增的文件
git add -A . #A指all,将工作区被修改、被删除、新增的文件都提交到暂存区
git commit -m [massage] #将暂存区所有文件添加到本地仓库
git commit [file-name-1] [file-name-2] -m [massage] #将暂存区指定文件添加到本地仓库
git commit -am [massage] #将工作区的内容直接加入本地仓库
git commit --amend #快速将当前文件修改合并到最新的commit,不会产生新的commit。在提交commit后发现还有部分文件修改忘记提交了可以是用该命令
git commit -m "xxxx" #提交到本地仓库,使用-m简述本次提交信息
git commit --amend #重写上一次的提交信息
git log #查看历史提交日志
git log #显示所有commit日志
git log --pretty=oneline #将日志缩写为单行显示
git log --graph --pretty=oneline --abbrev-commit #查看分支合并情况
git log --oneline --decorate --graph --all #查看分叉历史,包括:提交历史、各个分支的指向以及项目的分支分叉情况。
git log -3 #查看最新3条commit日志数据
git clean -df #加-d是指包含目录,加-f是指强制,删除所有未跟踪的文件
git reflog #显示操作本地版本库的命令,包括commit和reset等,在回退版本以后又后悔找不到commit id了可以使用此命令查看历史
git push #将文件添加到远程仓库
git push -f #强制提交,当我们本地reset到旧的版本时,然后普通push会被拦截,因为此是本地HEAD指向比远程库还要旧
git push origin [branch-name] #推送当前本地分支到指定远程分支
git rm --cached [file-name] #删除暂存区的文件
git rm -rf . #不但删除所有暂存区的文件,还删除所有工作区的物理文件
git branch [branch-name] #创建分支
git branch #查看当前分支
git branch -a #查看本地和远程的所有分支
git branch -r #查看远程所有分支
git branch -d [branch-name] #删除一个分支
git branch -D [branch-name] #强制删除一个没有合并的分支
git branch --set-upstream-to=origin/[branch-name] [branch-name] #把本地分支和远程分支进行连接
git checkout [branch] #切换分支
git checkout -b [new-branch-name] #创建并切换分支
git merge [branch-name] #用于合并指定分支到当前分支
git merge --quit #退出当前分支合并,当合并后冲突很多,要撤回合并分支就可以用这个命令
git merge --no-ff -m [massage] [branch-name] #不使用Fast forward合并分支,这样会创建新的commit,所以需要massage。这样被合并的分支HEAD指向是会变的。
git switch -c [branch-name] #创建新分支并切换到该分支
git switch [branch-name] #切换到已有分支
git stash #隐藏当前工作的修改
###如果不隐藏自己修改的半成品代码,就会发生切换到别的分支后,将然后自己的半成品代码带入其他分支,这样就发生很多不必要的麻烦。
git stash save message #执行存储时,添加备注,方便查找,只有git stash 也要可以的,但查找时不方便识别。
git stash list #查看隐藏的工作信息列表
git stash drop #删除隐藏的工作信息
git stash pop #恢复隐藏的工作信息,同时删除隐藏的工作信息
git stash apply [stash@{0}] #恢复指定的隐藏工作信息,但是不会删除隐藏的工作信息
git remote add origin [origin-url] #关联远程仓库
git remote #查看本地添加了哪些远程分支地址
git remote -v #查看本地添加了哪些远程分支地址更详细信息
git remote remove origin #删除本地指定的远程地址
git pull #从远程仓库拉取代码到工作空间