Git 分布式版本控制系统

分支命名规则

1.主分支:master

2.CICD: autoDeploy

3.开发分支:develop

4.功能分支:feature-分支名称/功能名称(例: git checkout -b feature-autoMLlist)

5.分支发布:release-日期

6.bug 分支修复:bugfix-日期

git 项目版本控制:跟踪记录项目开发的过程

git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。

和git类似的还有svn

svn是集中式的版本控制系统

git和svn的区别:
1> git是分布式的,版本库在服务器和我们自己电脑都有一份,如果网络不顺畅,不会影响我们的工作。

如果服务器坏掉,我们还可以通过自己的版本库恢复。

2> svn是集中式的,版本库集中存放在服务器上,如果网络不顺畅,会影响我们的工作,如果服务器坏掉,没办法恢复。

全局配置用户名:

git config --global user.name xxxx

全局配置邮箱:

git config --global user.email xxxxx@163.com

查看全局配置:

git config --list

-- allow-unrelated-histories 进行合并

git相关的命令

命令 说明

git init	初始化本地版本库
git status	查看工作区和暂存区的修改
git add .	把工作区所有的修改提交到暂存区
git commit -m "描述"	把修改从暂存区提交到本地版本库
git log	查看提交记录
git reflog	查看所有的提交记录
git diff	查看工作区具体的修改
git branch 分支名	新建分支
git branch	查看本地所有的分支
git branch -r	查看的远程分支
git branch -a	查看本地和远程所有的分支
git branch -d 分支名	删除分支
git push origin -d 分支名	删除远程分支
git checkout 分支名	切换分支
git checkout -b 分支名	创建并切换分支
git merge 分支名	合并分支
git commit -a -m "描述"	跳过暂存区直接到版本库

①git remote add origin

②git push -u origin master(分支名) 地址 本地仓库关联远程仓库(先提交一次,才可以用)

git branch --set-upstream-to origin/dev 设置和远程仓库分支同步

git pull 拉取远程分支代码

访问关联远程仓库

1、git init

2、git remote add origin ssh(地址)先本地后关联远程

git clone 仓库地址 (先关联远程后本地)
3、git remote

4、git checkout -b 分支名

5、git add .

6、git commit -m "描述"

7、git push origin 分支名

8、git checkout master

9、git add . git commit -m "合并"

10、git merge 分支名

11、git add . git commit -m "描述"

12、git push origin master主分支

合并

1.git fetch 更新

git checkout 个人分支
3.git branch

4.git git branch --set-upstream-to=origin/个人分支

5.git checkout 主分支/dev

6.git merge 个人分支

7.git add . git commit -m "描述"(发生冲突在执行)

8.git push origin dev:dev

撤销

第一种情况:撤销工作区的修改

git checkout -- 文件路径

第二种情况:撤销暂存区的修改

第一步:git reset 文件路径 把修改从暂存区撤回到工作区

第二步: git checkout -- 文件路径

3.第三种情况:回退版本

git reset --hard HEAD^ 回退到上一个版本 ^^ 上上个版本

git reset --hard commit_id(c8f70f4afb9c5670fa44525c186608076305571e)

github

github是一个项目托管平台。

github支持两种协议:https ssh

ssh协议需要配置公钥和秘钥。

ssh-keygen 生成公钥秘钥

https协议需要用户名和密码

git pull : 从远程拉取代码并和本地的代码合并

git fetch : 从远程拉取代码不和本地的合并

git merge:合并代码

git pull = git fetch + git merge

注意

1、直接提交到本地仓库 : 必须add 一次

2、合并分支或推送是冲突: 先pull 后 commit push

3、使用远程仓库地址 ssh

git merge 与git rebase 区别

*对于使用git merge 来合并所看到的commit 的顺序(从新到旧)–> 根据提交的 时间顺序排列下来

*对于使用git rebase 来合并所看到的commit 的顺序(从新到旧) --> 合并之后主 分支会重新克隆被合并的分支提交信息并到主分支上

git stash 暂存代码

*通过git stash save 'message’这条命令把未保存的修改的代码提交到本地暂开的仓 库

*通过git stash pop stash@{0} 可以恢复之前被暂存的代码

*git stash list 可以查看现有的所有stash 信息

*git stash drop 可以删除某个或全部stash 信息单个为直接后面跟信息名称

*此执行命令可以使得在开发人员未开发完成此次功能时,需介入其他分支开发, 所 有可以使用这些命令管理这些未完成代码

首先要明白四个空间:远程仓库,本地仓库,本地缓存区,本地工作区;

远程仓库:

该仓库是一个集中的数据仓库,正常情况下,所有参与开发的人员的代码最后都会 提交到该仓库的自己的分支上,再由具有合并权限的人员来合并所有分支;

本地仓库:

一般来说,本地仓库是由开发人员通过clone 复制远程仓库中的某个分支的数 据到本地而产生的,但git 不是集中式的版本控制,而是分布式的版本控制,他们的 区别就是,分布式版本控制中每一个仓库都能具有远程仓库的作用,而集中式的版本 控制中远程仓库是不能被其他参与开发的人备份的;

本地缓存:

在本地修改数据后(一般是指我们在编辑器中修改某个文件),git 监测到该数 据与本地数据仓库的数据不一致,会提示将该修改增加(add)到缓存区,缓存区中 的文件可以用来与本地仓库中的文件进行比较(difftool),这个用处目前感觉主要用 于当我们修改很多文件时,最后不记得自己修改了那些文件,如果没有缓存区,我们 直接提交的话,很容易会导致很多疏忽。我们在编辑器中修改了文件后(本地工作 区),本地缓存中不包含我们的修改的,只有当我们把本次的修改add 到缓存区的时 候,缓存区中才有本次的修改,这表明我们的每一次修改都必须手动add 到本地缓存 中才能在使用commit 命令时将其添加到本地仓库。

本地工作区:

也就是我们的编辑器的空间;

回退版本

*git reset --hard HEAD^ 可以回退到上一个版本,也可以直接跟每一个的版本信息 直接跳到该版本信息下(查看版本信息是git log)

*如果在回退回去之后后悔,也可以再返回,但需要知道版本号(版本ID),通过git reflog 查到每一个版本信息ID, 输入然后跳转

*git diff 可以列举出本次提交修改过的代码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值