常见命令:
git init 在当前目录下初始化创建git仓库
git config user.name 查看用户名
git config user.email 查看用户email
git config --global user.name ‘name’ 修改全局变量
git config --global user.email ‘email’ 修改全局变量
mkdir dir 创建文件夹
git add test.sh 添加文件到暂存区
git commit -m ‘提交相关信息’ 提交暂存区的修改到git库
git status 查看状态
git log 查看版本提交记录
git reflog 查看历史命令
git log --graph --pretty=oneline --abbrev-commit
查看更直观一点的log
git rebase 有点抽象,就是把未push到远程的一些各种提交版本,整理成一个提交。
git reset --hard ‘commit id’ 根据id重指向版本
git reset --hard HEAD^ 回退到上个版本
git reset --hard HEAD^^ 回退到上上个版本
git reset --hard HEAD~100 回退到往上100个版本
git checkout -- test.sh
把工作区的修改撤销掉1、修改但是未add,回退到解放前(跟版本库一样)
2、add 之后修改,回退到add之后的状态。
git reset HEAD test.sh
HEAD表示最新版本,指向当前分支
把暂存区的修改撤销掉,即之前add未commit的命令都作废
git remote add origin git@github.com:pmz0320/gitskills.git
跟远程仓库建立连接 origin 是远程仓库名 git默认的仓库名
git push -u origin master 把当前master分支 push到远程origin仓库
第一次push带上 -u参数表示跟远程的master建立连接,
第二次之后直接 git push origin master
git clone git@github.com:pmz0320/gitskills.git
将远程仓库克隆到本地
git branch 查看所有分支
git branch -r 查看所有远程分支
HEAD 指向分支-->分支指向提交的点,也就是版本
git branch dev 创建dev分支
git checkout dev 切换到dev分支
git branch -b dev 创建并切换到dev分支
git branch -d dev 删除dev分支
git branch -D dev 分支没有被合并会删除失败,-D为强制删除
git merge dev
比如当前分支为master,直接将master指向dev分支的最新提交,即合并
这次合并是快速合并,即Fast-forward
当有冲突时,必须先解决冲突再提交。
git merge --no-ff -m ‘remark’ dev 禁用Fast-forward模式
git stash 将当前分支的所有工作存储起来(即工作区和暂存区都是干净的)
git stash list 查看stash
git stash apply 从存储状态恢复正常
git stash drop 删除存储stash
git stash pop 恢复并删除stash
git stash apply stash@{0} 可以多次存储,按照stash list 恢复指定的stash
git remote 查看远程库
git remote -v 查看远程看详细信息
git push origin master 把本地分支master推送到远程分支
git checkout -b dev origin/dev 创建远程origin的分支dev到本地
git branch --set-upstream-to=origin/dev dev
指定本地分支dev与远程dev建立连接
git pull 从远程pull下来