Git
一 Git初识
1.什么是Git:
版本控制器,更直白的说,团队开发的时候,管理代码使用的软件。
2.Git和Svn的比较
3.Git的工作流程
4.G
master主分支:主要是项目上线的;dev开发分支:项目的新需求,更新,bug解决后再合并到主分支;prod预览分支:主要是给客户预览的。
二 Git使用
一 Git安装
# 1.下载对应版本:https://git-scm.com/download
# 2.安装git:在选取安装路径的下一步选取 Use a TrueType font in all console windows 选项
二 Git的基础使用和命令(在命令行操作)
>: cd 目标文件夹内部
例:从桌面进入F盘:cd f:
>: git init
例:在某文件夹中使用该命令
>: cd 目标目录
>: git init 仓库名
git config --global user.name '用户名'
git config --global user.email '用户邮箱'
注:在全局文件 C:\Users\用户文件夹\.gitconfig新建用户信息,在所有仓库下都可以使用
git config user.name '用户名' -- 用户名 git config user.email '用户邮箱' -- 用户邮箱 注:在当前仓库下的config新建用户信息,只能在当前仓库下使用 注:一个仓库有局部用户,优先使用局部用户,没有配置再找全局用户
# 当仓库中有文件增加、删除、修改,都可以在仓库状态中查看 git status -- 查看仓库状态 git status -s -- 查看仓库状态的简约显示
# 通过任何方式完成的文件删与改 # 空文件夹不会被git记录 # 前提是文件要提交到版本库 git checkout . -- 撤销所有暂存区的提交 git checkout 文件名 -- 撤销某一文件的暂存区提交
# 工作区的文件添加到暂存区,会变成绿色 git add . -- 添加项目中所有文件 git add 文件名 -- 添加指定文件
# 回滚文件会回到工作区变成红色,文件内容修改不会和回滚 git reset HEAD . -- 撤销所有暂存区的提交 git reset 文件名 -- 撤销某一文件的暂存区提交
# git commit -m "版本描述信息"
回滚暂存区已经提交到版本库的操作: 查看历史版本: >: git log >: git reflog 查看时间点之前|之后的日志: >: git log --after 2018-6-1 >: git log --before 2018-6-1 >: git reflog --after 2018-6-1 >: git reflog --before 2018-6-1 查看指定开发者日志 >: git log --author author_name >: git reflog --author author_name 回滚到指定版本: 回滚到上一个版本: >: git reset --hard HEAD^ >: git reset --hard HEAD~1 回滚到上三个版本: >: git reset --hard HEAD^^^ >: git reset --hard HEAD~3 回滚到指定版本号的版本: >: git reset --hard 版本号 >: eg: git reset --hard 35cb292
# .gitignore 文件 # 1)在仓库根目录下创建该文件 # 2)文件与文件夹均可以被过滤 # 3)文件过滤语法 """ 过滤文件内容 文件或文件夹名:代表所有目录下的同名文件或文件夹都被过滤 /文件或文件夹名:代表仓库根目录下的文件或文件夹被过滤 eg: a.txt:项目中所有a.txt文件和文件夹都会被过滤 /a.txt:项目中只有根目录下a.txt文件和文件夹会被过滤 /b/a.txt:项目中只有根目录下的b文件夹下的a.txt文件和文件夹会被过滤 """
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
#后端 注释 .idea scripts db.sqlite3 .DS_Store *.pyc .vscode *.suo *.ntvs* *.njsproj *.sln *.sw? .DS_Store node_modules /dist # local env files .env.local .env.*.local # Log files npm-debug.log* yarn-debug.log* yarn-error.log* # 前端 .idea .vscode *.suo *.ntvs* *.njsproj *.sln *.sw?
三 创建远程gitee仓库(上传到云版本库整个流程)
""" 1.注册码云账号并登录:https://gitee.com/ 2.创建仓库(截图) 3.本地与服务器仓库建立连接 """ """ 1)本地配置线上的账号与邮箱 >: git config --global user.name "doctor_owen" >: git config --global user.email "doctor_owen@163.com" 2)在本地初始化仓库(git init),并完成项目的初步搭建(项目架构)(一般都是项目负责人完成项目启动)
>:git init # 这个过程就是git的基础部分的本地操作
3)添加到暂存区
>:git add .
4)添加到本地版本库
>:git commit -m "信息"
##5)创建源(从这步开始可以参考下列2种协议上传方式):采用 https协议 或 ssh协议 与远程git仓库通信提交提交代码(一般都是项目负责人完成)
i) https协议方式,无需配置,但是每次提交都有验证管理员账号密码
>: git remote add origin https://gitee.com/doctor_owen/luffy.git # 配置远程源
>: git push -u origin master # 提交本地仓库到远程源 ii) ssh协议,需要配置,配置完成之后就可以正常提交代码
>: git remote add origin git@gitee.com:doctor_owen/luffy.git # 配置远程源
>: git push -u origin master # 提交本地仓库到远程源
iii)查看源及源链接信息
>: git remote
>: git remote -v iv)删除源链接
>: git remote remove 源名字
注:origin远程源的源名,可以自定义;master是分支名,是默认的主分支
5.码云创建云版本库
6.创建源并上传
#1.个人实例(使用https上传,直接执行下列 创建 git 仓库:最后2步):
Git 全局设置:
git config --global user.name "ZhuSai" git config --global user.email "2114161282@qq.com"
创建 git 仓库:
mkdir 11 cd 11 git init touch README.md git add README.md git commit -m "first commit" git remote add origin https://gitee.com/zhu_sai/11.git git push -u origin master
已有仓库?
cd existing_git_repo git remote add origin https://gitee.com/zhu_sai/11.git git push -u origin master
个人实例2(使用ssh实例上传):
#1.创建源:
提:本地仓库已经创建且初始化完毕(代码已经提交到本地版本库) 本机命令,添加远程源:git remote add origin ssh@*.git 采用ssh协议的remote源
#2.
官网:https://gitee.com/help/articles/4181#article-header0 cmd窗口: 本机命令,生成公钥:ssh-keygen -t rsa -C "*@*.com" 邮箱可以任意填写 本机命令,查看公钥:cat ~/.ssh/id_rsa.pub 码云线上添加公钥:项目仓库 => 管理 => 部署公钥管理 => 添加公钥 => 添加个人公钥
#3.
命令:git push origin master
四
1)查看仓库已配置的远程源 >: git remote >: git remote -v 2)查看remote命令帮助文档 >: git remote -h 3)删除远程源 >: git remote remove 源名 eg: git remote remove origin 4)添加远程源 >: git remote add 源名 源地址
1.创建分支 >: git branch 分支名 2.查看分支 >: git branch 3.切换分支 >: 4.创建并切换到分支 >: git checkout -b 分支名 5.删除分支 >: git branch -d 分支名 6.查看远程分支 >: git branch -a
二 开发者操作云端版本库协同 开发
#1.进入本地一个文件夹下拉克隆云端版本库
git clone 版本库地址
#2.创建并切换到dev分支
git checkout -b 'dev'
#3.对下拉的文件代码进行修改和操作
#4.提交云端版本库(如暂存库,本地版本库,云端版本库;先拉后提交)
1.加入暂存区 git add . 2.提交本地版本库 git commit -m '信息' 3.拉取 git pull 原名 分支名 4.上传 git push 原名 分支名
项目开发 git操作总结
1、开发前,拉一次远程仓库 2、工作区进行开发 3、将开发结果提交到本地版本库 - git status查看时没有待处理的事件 4、拉取远程仓库(每一次要提交远程仓库前必须先拉) 5、如果出现冲突,线下沟通(协商重新开发冲突文件),要重新走3、4步 6、没有冲突,提交到远程仓库
代码提交出现冲突
https://blog.csdn.net/oHenZiJue/article/details/81562184
1)打开冲突文件 2)定位到冲突位置: >>>>>冲突开始 自身代码 ==== 冲突代码 <<<<<<版本号 3)删除冲突提示信息:>>>>>冲突开始、====、<<<<<<版本号 4)线下沟通整合自身代码与冲突代码,形成最终代码结果 5)重新提交本地版本库,再拉取服务器代码,最后提交代码
三 远程仓库合并分支
四 本地分支合并开发
1.主要是在本地新开分支,进行开发
#例如把1分支,合并到2分支,需要在2分支下执行该命令 git merge 2
eg:将dev分支内容合并到prod分支上
1)切换到prod分支:git checkout prod
2)合并dev分支:git merge dev
五 git的clone和pull fetch区别
https://www.cnblogs.com/weberhuang/p/8939844.html
六 pycharm使用Git
#1.现在git软件窗口初始化 git init
#2.将文件加入暂存区和本地版本库(如下图)
#3.在git软件窗口提交到云端版本库