Git

Git:
Git 是一个开源的分布式版本控制软件,用以有效、高速的处理从很小到非常大的项目版本管理。 Git 最初是由Linus Torvalds设计开发的,用于管理Linux内核开发。Git 是根据GNU通用公共许可证版本2的条款分发的自由/免费软件,安装参见:http://git-scm.com/

GitHub是一个基于Git的远程文件托管平台(同GitCafe、BitBucket和GitLab等)。

Git本身完全可以做到版本控制,但其所有内容以及版本记录只能保存在本机,如果想要将文件内容以及版本记录同时保存在远程,则需要结合GitHub来使用。使用场景:

无GitHub:在本地 .git 文件夹内维护历时文件
有GitHub:在本地 .git 文件夹内维护历时文件,同时也将历时文件托管在远程仓库
其他:

​ 集中式:远程服务器保存所有版本,用户客户端有某个版本
​ 分布式:远程服务器保存所有版本,用户客户端有所有版本

准备工作
1.新建一个项目
2.进行编写项目

一:把项目传到git上

1.下载windows版的git
            http://windows.github.com/
        2.进行git的初始化
            git init#这之后你会看到你项目所在的文件中会有一个.git的目录,里面是初始git的所有必须文件
        3.使用git告诉它把文件添加到仓库中
            git add manage.py #把当前文件添加到git中
            git status #查看当前的文件,状态  没有了manage.py
        4.查看提交记录
            git log
        5.告诉git把文件添加到仓库中
            git commit -m '创建了文件 manage.py'#-m后边是后缀,可以理解是标识符
            
        6.报错,如果没有意外一定会报错,报错信息显示你得告诉git邮箱和名字
            git config --global user.email 'XXX@163.com'
            git config --global user.name 'li'
        7. 再添加仓库中 
            git commit -m '创建了文件 manage.py'
        8.再次查看当前的状态
            git status#没有了manage.py这个文件了
        9.把当前项目所有文件都上传到git上 
            git add . #.就是代表所有
            git commit -m '创建所有文件'

二:修改线上内容

        1.如果你修改了本地的代码,一定记得再次把修改的内容上传到git
            git add .
        2.上传到git做标识
            git commit -m '修改了内容'
        3.查看提交记录有改变
            git log

三:项目回滚

1.回到你上次页面
            git  reset --hard  f1c6b16f4e579fe8f3f446350a4b4d1e0ae21430
            #f1c6b16f4e579fe8f3f446350a4b4d1e0ae21430这个是你要回滚页面的id,git log查看
        2.回到你‘修改了内容’这个地方
            1.git reflog  #查看所有修改的内容 git log是看不到你回滚之后修改的内容
            2.git reset --hard 1785617
                #查看到你的标识符,也就是前面的是一个短的(1785617 )类似这个标识符,我们再回滚

四:名词解释

工作区:当前工作的目录,
缓存区:git add 之后存到的地方就是缓存区
版本库:git commit之后存到的地方就是版本库

五:其他命令:

git diff #对比的是工作区和缓存区之间的差别
        git diff --cached #缓存区和版本库之间的差别
        git log --pretty=oneline#git log 显示的内容比log清洁
        git log --pretty=format:"%H,%an" #显示的是作者的名字
        git checkout -- filename #取消修改的内容,你页面发生改变的时候git status查看,filename就是我们查看之后没有进行修改的内容,说白了就是标红的!!!

六分支

        1.当我们代码上线了,出现了一个bug,我们会在开一个分支bug分支进修bug,修完之后我们在合并,
        删除bug这个分支,这就是我们为什么要用分支
        2.git branch bug#创建bug分支
        3.git checkout bug#切换分支
        4.git checkout -b bug#创建并切换bug分支,等于2+3
        5.git brance #查看当前分支,当前使用分支前面带一个*
        6.git add .#在代码删除保存之后在bug分支进行提交
            git commit -m '修复bug'
            git checkout master #切换到住分支上就是代码上线的分支上
            git merge bug#合并bug分支

七:命令补充

git stash  #将当前开发的内容放在"某个地方"

git stash pop# 恢复当前的工作目录,并删除

git stash list # 查看stash列表

git stash drop #删除stash

git stash apply #恢复当前的工作目录,不删除stash

 

原文地址:https://www.cnblogs.com/lzqrkn/p/10419689.html