目录:
1. Git简介
Git是目前世界上最先进的分布式版本控制系统
版本库(Repository)
工作区有一个隐藏目录.git
,这个不算工作区,而是Git的版本库。
Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master
,以及指向master
的一个指针叫HEAD
。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Df2WMR7o-1619776135258)(image/image-20210421200645542.png)]
2. 创建本地仓库
1. 创建空目录
2. 初始化为仓库
$ git init
3. 远程仓库
$ git remote add origin git@github.com:XXXXXXX/learngit.git //本地初始关联远端库
$ git clone git@github.com:michaelliao/gitskills.git //git clone远端库
$ git push -u origin master //推送本地库内容到远端, -u关联起来
$ git push origin master //关联后的提交, 可以更加简便
$ git remote -v //查看远端库信息
$ git remote rm origin //删除远端库信息
4. 添加文件
$ git add . //添加所有的文件
$ git add readme.txt //添加指定文件
$ git rm test.txt //删除指定文件
$ git commit -m "wrote a readme file" //提交时, 要进可能描述清除提交信息
$ git commit --amend //提交追加, 一般相同的add文件进行了修改,避免造成提交多次
$ git status //查看当前仓库的状态, 哪些文件发生了修改
$ git diff readme.txt //查看文件具体发生了什么修改
$ git diff HEAD -- readme.txt //查看工作区和版本库里面最新版本的区别
$ git log //查看最近的3次commit; reset后,log也会变化
$ git log --pretty=oneline //显示log简明信息
$ git reset --hard HEAD^ //回退至上一个版本
$ git reset --hard 1094a //指定到达某个版本1094adb...
$ git reset HEAD readme.txt //暂存区的修改撤销掉
$ git reflog //查看命令历史
$ git checkout -- readme.txt //让这个文件回到最近一次git commit或git add时的状态
$ git pull //推送
5. 分支管理
$ git branch //查看当前分支
$ git checkout -b dev //创建并切换dev开发分支
$ git merge dev //将dev分支工作合并到master
$ git branch -d dev //删除分支,需要当前分支的所有变更都已经提交
$ git branch -D dev //强行删除分支
$ git switch -c dev //创建并切换分支, 也可以使用switch
$ git stash //将当前的工作现场存储起来
$ git stash list //查看工作现场
$ git stash pop //恢复工作现场,同时把stash内容删除
6. 标签管理
前提: 需要切换至需要打tag的分支下,通常是master
注意: 查看tag, 确定自己要打tag版本号, tag要遵循一定的规范
$ git tag //查看所有tag
$ git tag --sort=-v:refname //逆序查看最近
$ git tag v**** //打tag
$ git tag -a v0.1 -m "version 0.1 released" 1094adb //用-a指定标签名,-m指定说明文字
$ git show v**** //查看tag的详细信息
$ git push origin v**** //将本地tag推送至远端