A .svn
git workflow
git workflow diagram
Based on the use of two .git
git installation
1. Download the corresponding version: HTTPS: //git-scm.com/download
2. Installation git: Select Use a TrueType font in all console windows option selected next installation path
2.1 Workflow native code library repository remote staging area warehouse repository
2.2git the basis of use
cd catalog file
git init repository name
Global user directory in the terminal warehouse
config git - , Ltd. Free Join user.name ' username ' git config - , Ltd. Free Join user.email ' user mailboxes NOTE: Global File C: \ Users \ user folder \ .gitconfig new user information can be used in all warehouses
Check warehouse status
Status git
git Status -s minimalist version of the show
Undo workspace operations: delete change
git checkout . --撤销所有暂存区的提交 git checkout 文件名 撤销 >>>单个文件暂存区的提交
增
工作内容提交到暂存区
git add . 所有文件
git add 文件名 指定文件
暂存区提交:add添加的逆运算
git reset HEAD .
撤销所有已经提交到缓存区的代码
git reset 文件
撤销指定文件在缓存区的提交
提交缓存区的代码到服务版本库
git commit -m'新建的文件'
撤销:commit 的你运算 如下
回滚暂存取已经提交到版本库的代码 操作
回滚暂存区已经提交到版本库的操作: 查看历史版本: >: 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
过滤文件
在我们的项目文件中创建一个.gitigor文件
# 1)在仓库根目录下创建该文件 # 2)文件与文件夹均可以被过滤 # 3)文件过滤语法 """ 过滤文件内容 文件或文件夹名:代表所有目录下的同名文件或文件夹都被过滤 /文件或文件夹名:代表仓库根目录下的文件或文件夹被过滤 eg: a.txt:项目中所有a.txt文件和文件夹都会被过滤 /a.txt:项目中只有根目录下a.txt文件和文件夹会被过滤 /b/a.txt:项目中只有根目录下的b文件夹下的a.txt文件和文件夹会被过滤 >>> / 后面的所有文件 均别过滤
三. 创建远程gitee(码云)代码仓
(1)remote 源
查看git上传源既源的链接信息
git remote
git remote -v
删除源的链接信息
git remote remove 源的名字
备注:origin远程的源明名 默认是健在mster主分支上 可以进行改名
(2)
前提:本地仓库已经创建且初始化完毕(代码已经提交到本地版本库) 本机命令,添加远程源:git remote add origin ssh@*.git 采用ssh协议的remote源
(3)创建电脑的公钥秘钥
官网:https://gitee.com/help/articles/4181#article-header0 本机命令,生成公钥:ssh-keygen -t rsa -C "*@*.com" 邮箱可以任意填写 本机命令,查看公钥:cat ~/.ssh/id_rsa.pub 码云线上添加公钥:项目仓库 => 管理 => 部署公钥管理 => 添加公钥 => 添加个人公钥
(4)提交本地代码到远程仓库
命令:git push origin master
四.多分支开发
4.1 分支操作
(1)创建分支
git branch +分支名
(2)查看分支
git branch
>>> git branch + 分支名 1847@LAPTOP-ELAO5HR8 MINGW64 ~/Desktop/aaa (master) $ git branch dev 1847@LAPTOP-ELAO5HR8 MINGW64 ~/Desktop/aaa (master) $ git branch dev
(3)切换分支
git checkout +分支名
Switched to a new branch 'prod' 1847@LAPTOP-ELAO5HR8 MINGW64 ~/Desktop/aaa (prod)
(4)创家分支 并切换到分支
git checkout -b + 分支名
(5)删除分支
git branch -d + 分支名
(6)查看远程分支
git branch -a
五.
--1. 开发前我们第一件事就是在远程版本库中将代码pull 到我们的本地版本库 --2. 工作区进行开发 --3. 将开发的完成的最终代码提交到本地版本库 - git status 查看有没有带处理的事件(代码的冲突问题>>>开发的文件一样而产生) --4. 拉取远程仓库(每一次提交远程仓库前必须先拉取代码 (进行查看事件 避免)), -- 5. 如果有出现冲突是 , 线下沟通进行协商(协商重新开发 冲突文件) >> 要重新走3 . 4 步骤 --6. 没有冲突, 提交到远程仓库
(2)协同开发
1. 所有人在一个分支上进行开发 -- 通常开发分支名为dev 2. 遵循git 开发流程 , 先移交本地本班库,仔拉取服务器代码, 最后提交代码 提交代码到本地版本库: git commit -m '版本信息' 拉取服务器代码: git pull 源名 + 分支名 提交代码到远程代码库:gitpush 源名+分支名
(3)冲突的解决
1. 打开冲突的文件
2.定位到冲突位置: >>>>冲突开始 自身代码 ==== 冲突代码 <<><><<>> 版本号
3. 删除冲突提示信息: >>>>>冲突开始 ==== <<><><><>< 版本号
4. 线下沟通整合 自身代码与冲突 代码 , 行成最终代码结果
5. 重新提交到本地版本库, 再拉取服务器代码 ,最后提交代码
(4)合并分支
eg: 将dev 分支的内容合并=到prod分支上
1. 切换prod 分支: git checkout prod
2. 合并dev 分支: git merge dev
1847@LAPTOP-ELAO5HR8 MINGW64 ~/Desktop/aaa (dev) $ git checkout prod Switched to branch 'prod' 1847@LAPTOP-ELAO5HR8 MINGW64 ~/Desktop/aaa (prod) $ git merge dev Already up to date. 1847@LAPTOP-ELAO5HR8 MINGW64 ~/Desktop/aaa (prod)