git学习笔记
引言
git是14年才接触的,然后也没有系统的学习过。都是平时遇到一点问题,去搜一搜。
安装部分就不说了。
概念
- 工作区 就是电脑上写代码部分
- 版本库 Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。
常用命令
初始化
mkdir learngit 新建一个文件夹
cd learngit 并进入该文件夹
git init 初始化,把该文件夹变成git可以管理的仓库(会产生一个.git文件)
git add把文件修改添加到暂存区(Stage)
git commit -m把暂存区的所有内容提交到当前分支
查看状态及回退
git status 查看当前仓库状态
git diff 查看详细的修改内容
git diff HEAD – readme.txt 查看工作区和版本库里面最新版本的区别
git log 查看从最近到最远的提交日志
git log –pretty=oneline 查看从最近到最远的简洁版提交日志
git log –graph 查看分支合并图
git reflog 查看历史命令
git reset –hard HEAD^ 回退到上一个版本
git reset –hard HEAD^^ 回退到上上一个版本
git reset –hard HEAD~10 回退到往上10个版本
git reset –hard commit_id 回退到固定某个版本
放弃修改
git checkout –
丢弃工作区的修改
git reset HEAD丢弃暂存区的修改,回到工作区
git rm从版本库中删除掉某文件
关联
git remote add origin git@server-name:path/repo-name.git 关联一个远程仓库
git push -u origin关联后,第一次推送master分支的所有内容
git push origin以后的正常提交
git checkout -b新建dev分支并切换到dev分支
相当于 git branch新建dev分支
git checkout切换到dev分支
合并删除分支
git branch 查看当前分支
git merge合并某个分支到当前分支
git branch -d删除分支
git branch -D强制删除分支
临时存储
git stash 把当前工作现场存储起来
git stash list 查看已存储
git stash apply 把已存储的内容恢复,内容不删除
git stash drop 删除已存储的内容
git stash pop 恢复内容以后同时删除内容
远程库
git remote 查看远程库信息
git remote -v 查看远程库详细信息
git push origin把该分支上的所有本地提交推送到远程库
git checkout -borigin/ 在本地创建和远程分支对应的分支,本地和远程分支的名称最好一致
git branch –set-upstreamorigin/ 建立本地分支和远程分支的关联
git pull 从远程合并
如果提示no tracking information
则说明本地分支和远程分支的链接关系没有创建,可以使用 git branch –set-upstream-toorigin/
打标签
标签总是和某个commit挂钩。 git tag
用于新建一个标签,默认为HEAD,也可以指定一个commit id
git tagcommit_id 给指定一个commit_id新建一个标签
git tag 查看所有标签
git show查看标签信息
git tag -d删除一个本地标签
git push origin推送某个标签到远程(PS:创建的标签都只存储在本地)
git push origin –tags 一次性推送全部尚未推送到远程的本地标签
如果标签已经推送到远程,要删除远程标签就麻烦一点 git tag -d删除一个本地标签
git push origin :refs/tags/删除一个远程标签
小结
git是Linux之父linus创造的,属于一种分布式版本控制系统。(PS:区别于集中式的版本控制系统)