1.常用命令
git init # 初始化本地仓库 git add 文件/. # 工作区提交文件到暂存区 . 提交所有文件
git reset HEAD 文件/. # 从暂存区回滚到工作区
git config --global user.name '用户名'
git config --global user.email '邮箱'
git commit -m '注释' # 工作区提交到代码到版本库 在commit 到本地仓库之前要创建用户
git remote 源名 源地址 # 添加远程源
git remote add origin git@gitee.com:bigbox110/dd.git
工作区回滚到以前的版本: git reset --hard~ 前一个版本 , git reset --hard~3 回到前三个版本
git log 查看日志, git log --author bigbox 查看某个人的日志
git reflog 查看所有历史版本 git reset --hard 版本名
# 过滤文件
.gitignore 文件
a.txt:项目中所有a.txt文件和文件夹都会被过滤
# 分支管理 本地分支与远程分支一致
git branch dev #创建dev分支
git branch # 查看所有分支 默认为master分支
git checkout dev # 切换到dev分支
git branch -d dev # 删除dev分支
git merge 分支名 # 合并分支
把dev分支合并到master分支:切换到master分支,执行合并dev分支的命令
2.远程仓库:
### remote源操作 ```python """ 1)查看仓库已配置的远程源 >: git remote >: git remote -v 2)查看remote命令帮助文档 >: git remote -h 3)删除远程源 >: git remote remove 源名 eg: git remote remove origin 4)添加远程源 >: git remote add 源名 源地址 >: git remote add orgin git@gitee.com:doctor_owen/luffyapi.git 5)提交代码到远程源 >: git push 源名 分支名 6)克隆远程源 >: git clone 远程源地址 """ """ 1)通过克隆方式连接远程源,默认远程源名就叫origin;所以主动添加远程源来连接远程仓库,源码也用origin 2)本地一个仓库只需要和远程一个源进行同步,所以只需要连接一个远程源,如果还想把本地代码同步给第三个平台,那么可以通过主动添加远程源来连接第三个平台的远程仓库,
此时的源码就不能再叫origin了,比如online都可以 3)pull和push都可以提供选择不同的源码,和不同的远程仓库交互 """
2.线上仓库初始化
重点来了:
1)你作为项目经理 仓库初始化人员: 线上要创建空仓库 => 本地初始化好仓库 => 建立remote链接(remote add) => 提交本地仓库到远程(push)
步骤1: 线上创建空仓库
步骤2: 初始化本地仓库,git init git add . 创建账号 git commit -m 'test'
步骤3: 连接远程仓库 git remote add origin git@gitee.com:bigbox110/test02.git
步骤4: 配置密钥,开发者权限
复制命令 ssh-keygen -t rsa -C "1627256534@qq.com" 执行
生成本地公钥、私钥
线上添加公钥 , 添加开发者
本地提交代码到服务器
git push origin master
2)你作为项目后期开发人员: 远程项目仓库已经创建成功 => 复制远程仓库到本地(clone) => 进入仓库就可以进行接下来的开发
步骤1: 创建空文件git clone
git clone git@gitee.com:bigbox110/test02.git
步骤2: 切换分支 拉取dev分支
每天开始 先 git pull origin dev
3.项目开发者
特殊任务:在哪个分支上面创建分支就和就复制了当前分支创建了一个新的分支 在dev 上面创建一个新的分支dev1
开发完成后,切换到dev 分支 merge dev1 ,再删除dev1
1)作为开发者,第一次同步项目(前提已经是项目开发者了) >: git clone 项目地址 2)保证自己本地有dev分支,且与远程仓库版本同步(没有就自己新建) 3)本地开发的代码,必须add、commit到本地版本库后,才和远程仓库进行交互 4)交互顺序:必须 先拉(pull)后提(push) 协同开发直接push 会报错,要先pull 5)必须切换到要交互的分支,在与远程同名的分支进行交互,如本地dev与远程dev交互 >: git checkout dev >: git add . >: git commit -m '本次提交的信息提示' >: git pull origin dev >: git push origin dev
线上分支管理
服务器分支管理:项目经理 可以在服务器上创建分支,也可以在本地push上去,master分支一般设置为保护分支 管理员可以操作
git冲突解决 同时修改了同一个文件,pull的时候冲突
1)在远程仓库和本地仓库版本不一致时,拉取(pull)远程仓库版本到本地时,两个版本进入融合,可能会出现版本冲突 2)定位本地冲突文件冲突代码,线下沟通冲突代码,整合代码解决冲突 3)将解决冲突后的代码重新提交到本地版本库 4)再拉去远程仓库,直到没有冲突,提交本地版本库到远程
线上合并分支
远程回滚
用dev分支举例 1)本地切换到远程要回滚的分支对应的本地分支 git checkout dev 2)回滚本地分支 git reset --hard 版本号 3)本地版本强行提交给服务器 git push origin dev -f