git简介
GIT介绍:
Git是一个开源的分布式版本控制软件,用以有效、高速的处理从很小到非常大的项目版本管理。
GitHuB是一个基于Git的远程文件托管平台。如果想要将文件内容以及版本记录同时保存在远程,则需要结合GitHub来使用。使用场景:
无GitHub:在本地.git文件内维护历时文件
有GitHub:在本地.git文件夹内维护历时文件,同时也将历时文件托管在远程仓库。
$ git init #git 初始化
初始化后,会在当前目录自动创建.git文件夹,该文件时Git中最重要的文件夹,因为Git相关文件以及版本都将保存在该文件夹中,有了它,再也不会手动的创建好多文件来记录版本了,通过Git命令可以将所有版本保存在.git文件中,两条命令创建一个版本:
git add .
git commit -m '版本名字'
Git把管理的文件分成两个区域四个状态:
工作区:当前开发程序目录称为工作区,即:工作开发都是在该目录,该区域的文件会有状态的变化且状态由git自动检测,如果程序中文件做任何操作,文件状态均会被检测到,可以使用【git status】命令查看。
----------------------------------------------
ls 查看原程序目录
git status 查看Git当前状态
touch a.py 创建新文件
----------------------------------------------
版本库:工作区检测到有文件发生变化,那么意味着较上一个版本之后对程序进行了修改,修改完成之后,可以当做下一个版本进行提交,那么就是执行【Git add .】将所有文件提交到暂存区,然后再执行【git commit -m '版本名'】提交到版本库的分支即可,之后可以使用【git log】命令查看版本记录。
目前已使用Git的四个命令,这四个命令已经可以代替本地多个文件保存版本的方式:
- git init,初始化,表示即将对当前文件夹进行版本控制。
- git status,查看Git当前状态,如:那些文件被修改过、那些文件还未提交到版本库等。
- git add 文件名,将指定文件添加到版本库的暂存状态。
- git commit -m '提交信息',将暂存区的文件提交到版本库的分支。
- git log,查看提交记录,即:历史版本记录
如何回滚到之前版本?:
方案一:stash
回滚到指定版本:
git log 查看之前的版本
git reset --hard 版本号
git reflog 查看所有的版本(之前和之后)
stash: 用于将工作区发生变化的所有文件获取临时存储在“某个地方”,将工作区还原当前版本未操作前的状态;stash还可以将临时存储在“某个地方”的文件再次拿回到工作区。
git stash
git stash pop
方案二:branch
分支学习:branch称为分支,默认仅有一个名为master的分支。一般开发新功能的流程为:开发新功能时会在分支dev上进行,开发完毕后再合并到master分支。
git branch dev #创建新分支,即:拷贝一份
git checkout dev 切换到dev分支
git status查看状态,即:在dev分支
git branch 查看所有分支
git branch -d dev 删除dev分支
git merge dev 将dev分支合并到
基于GitHub实现代码托管,需要的步骤:
1. 注册GitHub
2.创建仓库,创建完仓库后会有一个URL指代该仓库。
git可以是用该URL进行向远程推送版本信息或获取版本信息。
在家里:小P开发完毕部分功能将代码推送到GItHub。
git remote add origin https://github.com/WuPeiqi/pondo.git # 为地址起一个别名
origin
git push origin master 将本地master分支内容以及版本信息推送到GitHub
在公司:新电脑第一次使用,需要将代码从GitHub中获取并继续,开发完事就下班回家。
git clonehttps:
//github
.com
/WuPeiqi/pondo
.git 把整个文件夹下载下来
继续开发------
git add .
git commit -m '版本2'
git remote add originhttps:
//github
.com
/WuPeiqi/pondo
.git
git push origin master 把在公司修改的代码推到GitHub上
又到了家:
git pull home master
继续开发-----
git add .
git commit -m ''
git push home master 把在家修改的代码推送到GitHub上面
。。。。。。。
长此以往,将Git和GitHub结合使用做到了避免电脑损坏造成数据丢失以及多地开发问题,上文执行过程中执行【git pull origin 分支】命令等同于【git fetch origin 分支】+【git merge origin/分支】并且在执行过程中可能会出现冲突,原因是由于本地代码和获取的最新代码有重合部分,那么就需要自己动手解决然后再继续开发。