1.Git是目前世界上最先进的分布式版本控制系统
2.Git与GitHub的区别
Git是一个分布式版本控制系统,简单说其就是一个软件,用于记录一个或若干个文件内容变化,以便将来查阅特定版本修订情况的软件
GitHub(https://www.github.com)是一个为用户提供git服务的网站,简单说是一个可以放代码的地方(不过可以放的当然不仅是代码)Github除了提供管理G
Git的web界面外,还提供了订阅、关注、讨论组、在线编辑器等丰富的功能,Github被称之为全球最大的基友网站。
工作区 暂存区 版本库
全局配置:
git config --global user.name "用户名"
git config --global user.email "邮箱地址"
创建仓库
1. 新建目录
2. 切换到目录下
3. git仓库初始化(让git知道需要管理这个目录) git init 执行之后 查看显示隐藏的文件 会看到项目下有个.git隐藏目录
Git常见指令操作
查看当前状态: git status
添加到缓存区: git add 文件名
提交至版本库: git commit -m "注释内容"
版本回退:
分两部:
1.查看版本
git log
git log --pretty=oneline
2.回退操作
指令:git reset --hard 版本号
注意:回到过去之后要想回到之前最新的版本的时候,则需要使用指令区查看历史操作以得到最新的commit id
指令 git reflog
两种常用使用方式
1 基于http协议
a.创建空目录
b. 使用 git clone http://sss.git
c. 在仓库上做对应的操作(提交暂存储区、提交本地仓库、提交线上仓库、拉取线上仓库)
提交到线上仓库指令:git push
git add readme.txt
git commit -m "初始化readme.txt"
git push
在首次向线上仓库提交内容出现403错误,原因不是任何人都能往线上仓库提交内容,必须鉴权。
需要修改:.git/config 文件里面 remote中url
url=https://username:pwd@github.com/bbbb/ssfd
注意如果密码中含有@ 用url转义替换 %40
重新push 会提交成功
拉取线上最新版本: git pull
上班pull,下班push
2. 基于SSH协议 【要安装openssh程序】
步骤:
a. 生成客户端公私钥文件
b.将公钥上传到github
生成 ssh -keygen -t rsa -c "github注册邮箱"
分支管理:
查看分支:git branch
创建分支: git branch 分支名
切换分支:git checkout 分支名
删除分支:git branch -d 分支名
合并分支: git merge 被合并的分支名
删除分支的时候,一定要先退出要删除的分支,然后才能删除,
合并了所有分支之后,需要将master分支提交线上远程仓库中
冲突的产生与解决:
图形管理工具:
github for desktop
source tree
tortoisegit
2.忽略文件
忽略文件需要新建一个名为.gitignore的文件,该文件用于忽略文件或不忽略文件的规则,规则
对当前目录及子目录生效
1)/mtk/ 过滤整个文件夹
2)*.zip 过滤所有.zip文件
3)/mtk/doc.z 过滤指定文件
4)!index.inc 不过滤指定文件
git bash中如果使用 git log 过长 一直出现:号 输入 q 即可
git bash 清楚屏幕 clear 或者 ctrl + l
回退到某个版本:
1. 查看所有的历史版本,获取你git的某个历史版本的id, git log
2. 回退本地代码库:git reset --hard ID
3. 推送到远程服务器:git push -f -u origin master
4. 重新拉代码:git pull