Git简介
Git是由Linux创始人Linus Torvalds开发作为管理Linux内核开发的软件,现在是作为开源的分布式版本控制软件,GitHub是一个基于Git的远程文件托管平台,也就是说我们可以将历史文件在本地保存的同时同步到GitHub仓库远程保存。
Git基础
重中之重,git的区域划分
git把自己的功能区域划分为两个,工作区和版本库,工作区就是我们编写的文件,版本库是在我们初始化git时出现的。git文件夹,需要注意的时其中的默认分支master和暂存index。
在现有目录初始化git仓库
git init
将文件传到git仓库的方法,先add再commit
git add test.py git commit -m "write a test file"
查看git仓库当前状态
git status
查看已暂存和未暂存的更改
git diff
提交更新
在每次准备提交前一定要注意是否还有文件没有git add 过,否额提交时不会记录这些变化,所以养成提交前使用git status查看的习惯。
跳过使用暂存区域
commit -a -m 'update'
查看提交历史
git log
-p 显示内容差异
-2 显示最近两次的提交
--pretty= oneline/full/short/full/fuller/format 不同的显示 方式
git add 是把文件提交到暂存index ,gid commit是将文件从暂存提交到分支(也有很多人直接称之为版本库)
git diff 对比的是工作区和暂存区的差别
git diff --cache 对比的是暂存区和分支之间的差别
git diff head 对比的是工作区和分支之间的差别
git reset head 从暂存区把文件回滚到工作区
git reset --hard 回滚到指定的某一个版本,通过版本号
git checkout -- filename 取消对文件的修改
stash
stash用于将工作区发生变化的所有文件临时存储到一个地方,将当前工作区回复没有进行任何改变时的情况,在操作完成之后还可以将工作区文件恢复。
git stash 将当前已经修改的文件内容存储到一个地方
git stash pop 恢复工作区并且删除
git stash apply 恢复工作区不删除
git stash list 获取stash列表
git drop stash 删除stash
分支 branch
最常见的工作流程为,开发新功能时在分支dev上运行,开发完毕后在进行合并。
使用:
git branch name 新建分支
git branch 查看分支
git checkout name 切换分支
git checkout -b name 创建并切换分支
git branch -d name 删除分支 -D 强制删除
git merge name 当前工作分支和name分支进行合并