版本控制之git
1.Git的介绍
Git 是一个开源的分布式版本控制软件,用以有效、高速的处理从很小到非常大的项目版本管理。 Git 最初是由Linus Torvalds设计开发的,用于管理Linux内核开发。Git 是根据GNU通用公共许可证版本2的条款分发的自由/免费软件,安装参见: http://git-scm.com/
GitHub是一个基于Git的远程文件托管平台(同GitCafe、BitBucket和GitLab等)。
Git本身完全可以做到版本控制,但其所有内容以及版本记录只能保存在本机,如果想要将文件内容以及版本记录同时保存在远程,则需要结合GitHub来使用。使用场景:
无GitHub:在本地 .git 文件夹内维护历时文件
有GitHub:在本地 .git 文件夹内维护历时文件,同时也将历时文件托管在远程仓库
其他:
集中式:远程服务器保存所有版本,用户客户端有某个版本
分布式:远程服务器保存所有版本,用户客户端有所有版本
2.Git的安装
windows目前Git的版本是2.36
3.git的基本命令和本地仓库的一些命令
1.git分为四个区域 工作区:当前编辑的区域 缓存区:git.add之后的区域 本地仓库:commit之后的区域 远程仓库:远程区域,比如码云,github 2.git初始化命令 git init 3.查看git状态命令 git status 4.将文件从工作区放到缓存区: git add 文件名 (对一个文件操作) git add . (将工作区所有的文件添加到缓存区) 5.将缓存区的文件提交给本地仓库 git commit -m "本次操作的注释" 6.设置用户的邮箱 git config --global user.email 'xxx@qq.com' 7.设置用户的用户名 git config --global user.name "xxx" 8.删除用户的邮箱 git config --global --unset user.email 9.删除用户的用户名 it config --global --unset user.name 10.查看当前版本之前提交的记录 git log 11.查看所有的提交记录 git reflog 12.回退到之前某次提交的地方(慎用) git log 查到某次记录的hash值 git reset --hard hash值 13.将指定文件回退到最近一次commit的地方,只对工作区做修改,缓存区不变(慎用) git checkout 文件名 14.将指定文件从缓存去拉取到工作区,不会覆盖原来的文件 git reset HEAD 文件名 15.对比缓存区和工作区的区别 git diff 16.对比缓存区和本地仓库的区别 git diff --cached
4.git的远程仓库的一些命令
1.添加git别名 git remote add origin https://url.git 2.新文件夹中将远程仓库下载到本地 git clone https://url.git 3.旧文件爱夹江远程仓库文件下载到本地 git pull origin master 4.将本地文件推到远程仓库 git push origin master
5.git的快照
1.创建快照 git stash 2.取出快照并删除快照记录 git stash pop 3.查看快照记录 git stash list 4.删除快照 git stash drop 快照名称 5.取出快照不删除快照记录 git stash apply 快照名称
6.git的分支
#一般公司的分支会有master用来放线上的代码,dev自己的分支,还有一个review分支,review分支是用来看代码是否规范,逻辑是否合理,一般由组长看 1.查看分支 :git branch 2.创建分支 :git branch 分支名称 3.切换分支 : git checkout 分支名称 4.创建并切换分支 : git branch -b 分支名称 5.删除分支 : git branch -d 分支名称 6.合并分支 : git merge 分支名称 例如:将bug分支合并到master分支上,首先切换到master分支,然后执行git merge bug,就合并完成 7.将本地分支推送到远程仓库 : git push origin 分支名称 8.创建dev分支并以线上的为蓝本 : git branch 分支名称 origin/分支名称 例如:git branch dev origin/dev 这样创建后执行git pull origin dev 就能将Dev分支下载下来 9.创建并切换分支 git checkout -b 分支名称 origin/分支名称
7.git的tag
一个程序在实现一个里程碑的突破后会添加一个tag的版本 1.查看tag : git tag 2.以当前位置创建版本 : git tag -a 版本名称 -m "注释信息" 例如:git tag -a v1.0 -m "v1.0上线" 3.以某次提交为蓝本创建tag: git tag -a 版本名称 -m "注释信息" 某次commit提交的hash值 例如: git tag -a v1.0 -m "v1.0上线" hash值(hash值通过git reflog来查看) 4.删除tag : git tag -d tag名称 5.将tag上传远程仓库 : git push origin --tags 这是上传所有tag 6.删除远程仓库的tag: git push origin 空格 :refs/tags/tag名称 7.将远程仓库的tag拉取下来 : git pull
8.git的隐藏文件
参考:https://blog.51cto.com/wangfeng7399/2352669
创建隐藏文件: vi .gitignore 在创建的隐藏文件gitignore中,将需要隐藏的文件名(比如d.py)写进去,就可以将文件隐藏