git 流完整版
灵魂三问:
1.git 到底是一个什么样的工具?(干什么)
git 代码版本控制 协同开发工作
2.git 工作流程
3.git 各项命令的使用时机(git该怎么用)
初始化仓库
创建仓库,仓库地址是:https://abc.xyz/d/e.git
将远程仓库https://abc.xyz/d/e.git 添加为”origin“ 的命令
git remote add origin https://abc.xyz/d/e.git
1、给了一个git地址后怎么操作
1.git clone ”git地址“
2.创建dev分支,同步到远程分支
git checkout -b dev #创建本地分支
git push origin dev:dev # 本地dev分支同步到远程分支 (这样远程就创建了一个dev分支)
git push origin :dev # 删除远程dev 分支
git branch -d dev #删除本地dev 分支
git branch -a #查看所有分支 (本地分支以及远程分支)
git branch #查看本地所有分支
git branch -r # 查看远程所有分支
后续的就是一些常见的开发工作了
2、后续git操作
git pull #同步代码
git add . #将所有修改后的文件添加到暂存区
git commit -m "type:message" # 将修改后的代码提交到本地仓库
git push # 将代码推送到远程分支并且合并
git fetch origin #将提交、文件和引用从远程存储库下载到本地存储库中 同步远程仓库
git diff test #查看当前分支和test 分支的区别;比较怕文件在暂存区和工作区的差异
git pull其实就是git fetch 和git merge FETCH_HEAD 的简写
3.版本回退
git reset HEAD^ # 回退到上一个版本
git reset HEAD^ hello.php # 回退指定文件的版本到上一个版本(这里是hello.php文件进行回退)
git reset 052e # 回退到指定版本
git reset --softß HEAD~3 # 回退到上上上一个版本
git log #查看commit 提交的信息 得到的信息如下:
commit 5662d5f912bcae19eacb2ce4cd1d65678c0bfcad # commit 提交的版本
Author: 张X三 <812345678@qq.com> # 谁提交的
Date: Thu Aug 11 22:27:45 2022 +0800 #提交的时间
add a.text # commit message
回退到版本后根据文件名后面的 M 标记对比 远程仓库和本地仓库的代码区别,修改后再往下走
回退版本后需要将远程代码跟本地同步执行下面的命令
git push -f origin dev # 将本地代码强推到远程dev分支
4.merge 合并
git checkout master #切换到master 分支上
git merge dev #在master 分支上合并dev 分支
合并成功之后
git push #将当前本地仓库分支强推到远程master 分支上
5.撤销(rebase)变基或者merge(合并)
合并(merge)了或者rebase了一个错误的分支,或者完成不了一个进行中的rebase/merge,git在进行危险操作的时候会把原始的HEAD保存在一个叫做ORIG_HEAD
的变量里,所以要把分支恢复到rebase/merge之前是比较容易的
git reset --hard ORIG_HEAD 返回到合并之前的上一个版本
#可以看到 HEAD is now at 8e40162 init
git push -f origin master # 将回退后的本地仓库代码强推到远程master 分支上