git的常用命令
创建版本库
1 git init #使用这个命令可以把一个目录变成git可以管理的目录
添加文件并提交
1 touch readme.txt #假设先创建一个目录 2 git add readme.txt #将文件添加到暂存区 3 git commit -m "创建了一个文件readme.txt" #将暂存区文件提到本地仓库(版本库) -m c参数:是本次提交的说明信息,用来注释本次提交做的说明事情
差异比较
1 git diff -- readme.txt #查看工作区和版本库里面最新版本的区别
查看状态
1 git status #查看当前工作区的状态
版本回退 实质就是修改HEAD指针位置
1 git log #查看历史的每次提交信息 2 git log --pretty=oneline #将日志在一行显示 3 4 git reset --hard HEAD^ #回退到上一个目录 HEAD^^ 会退到上上目录 EEAD~N 会退到上N个目录 5 6 git reflog #查看以前的每次执行动作 7 git reset --hard {coommit id} #指定HEAD的位置
撤销修改
撤销工作区修改
git checkout -- readme.txt #撤销工作区修改 git reset head readme.txt #撤销缓存区修改,可以将文件的修改撤回到工作区
远程仓库
ssh-keygen -t rsa
命令执行后,在windowns本地用户.ssh目录生成如下名称的公钥和私钥
id_rsa 私钥
id_rsa.pub 公钥
关联远程仓库 GitEE
1 git remote add origin + 仓库地址信息 #关联远程仓库 2 3 git push -u origin master #推送本地仓库到远程仓库的master分支 4 git clone + 远程仓库的地址 #克隆远程仓库 5 6 git pull #拉取远程仓库数据
分支的创建和合并
创建分支
1 git checkout -b dev(分支名) # 创建并切换到新的分支 等同于一下两个命令 2 3 git branch dev #创建分支 4 git checkout dev #切换到具体分支 5 6 git branch #查看所有的分支,当前的分支会出现一个*表示 7 8 git merge dev #将dev分支合并到当前分支 9 10 git branch -d dev #删除dev分支
解决冲突
冲突产生的原因:假设两个分支都对远程仓库进行了修改并提交,然后合并两个分支的时候就会产生分支
解决:
方法1:删除其中一个分支提交的内容
方法2:保留两个分支提交的内容
1 git log --graph --pretty=oneline --abbrev-commit #查看具体执行信息
保留工作状态
1 git stash #保存工作区,这时候可以切换到其他分支完成需要的工作 2 git stash list #查看之前保存在工作区的修改 3 git stash pop #恢复保存在工作区的修改同时把stash内容删除 4 git stash apply #恢复保存在工作区的修改但不会删除stash内容 5 git stash drop #删除stash内容