Git总结

Git 总结

Git与Svn区别

1、最核心的区别Git是分布式的,而SVN属于集中化的版本控制系统。

2、Git把内容按元数据方式存储,而SVN是按文件:因为.git目录是处于你的机器上的一个克隆版的版本库,它拥有中心版本库上所有的东西,例如标签,分支,版本记录等。.git目录的体积大小跟.svn比较,你会发现它们差距很大。

3、Git没有一个全局版本号,而SVN有:目前为止这是跟SVN相比Git缺少的最大的一个特征

Git使用

一、Git 常用指令
1、$ git init                               // 通过git init命令把当前目录变成Git可以管理的仓库
2、$ git clone url                     // 使用 git clone 拷贝一个 Git 仓库到本地
3、$ git add  -u                     // 添加文件到暂存区
4、$ git commit -a            		 // 把暂存区的所有修改提交到分支
5、$ git status                      // 显示所有变更信息
6、$ git diff                        // 显示工作区所有修改文件的内容
7、$ git diff --cached               // 显示暂存区所有修改文件的内容
8、$ git log                         // 显示当前分支的版本历史
9、$ git show "git 版本号"            // 显示当前版本所修改的内容
10、$ git reflog                     // 显示当前分支的最近几次提交
11、$ git remote -v                  // 显示所有远程仓库
12、$ git pull [remote] [branch]     // 取回远程仓库的变化,并与本地分支合并
13、$ git push [remote] [branch]     // 上传本地指定分支到远程仓库
14、$ git checkout [file]            // 恢复暂存区的指定文件到工作区
15、$ git checkout [commit] [file]   // 恢复某个commit的指定文件到暂存区和工作区
16、$ git checkout                   // 恢复暂存区所有文件到工作区
17、$ git reset [file]               // 重置暂存区的指定文件,与上一次commit保持一致,工作区不变
18、$ git reset --hard               // 重置暂存区与工作区文件,与上一次commit保持一致
19、$ git merge                      // 合并分支
20、$ git branch --set-upstream_to = [路径]     // 关联远程分支
21、$ git commit --amend                       // 修改上一次提交
22、$ git remote update                        // 更新远程分支在本地显示
23、$ git remote prune [远程分支项目]           // 清除远程分支在本地无效分支
24、$ git push origin [本地新建分支]            // git本地分支给远程仓库创建该分支
25、$ git branch -D br                        // 删除本地分支
26、$ git push origin :br                     // 删除远程分支
27、$ git branch                              // 查看本地分支
28、$ git branch -r                           // 查看远程分支
29、$ git branch -a                           // 查看所有分支(本地+远程)
30、$ git branch [新分支名]                    // 创建分支
31、$ git checkout [分支名]                    // 切换分支
32、$ git checkout -b [分支名]                 // 创建新分支并切换到该分支下
33、$ git stash                               // 将工作区所修改的文件缓存到队列
34、$ git stash list                          // 查看缓存队列
35、$ git stash pop                           // 从队列中恢复
36、$ git stash drop stash@{0}                // 这是删除第一个队列
37、$ git stash clear                         // 删除所有队列缓存内容

Git常见面试题

1、fetch和merge和pull的区别

pull相当于git fetch 和 git merge,即更新远程仓库的代码到本地仓库,然后将内容合并到当前分支。
git fetch:相当于是从远程获取最新版本到本地,不会自动merge
git merge : 将内容合并到当前分支
git pull:相当于是从远程获取最新版本并merge到本地

2、git reset、git revert 和 git checkout 有什么区别

git reset 只是把文件从历史记录区拿到暂存区,不影响工作区的内容,而且不支持 --mixed、–soft 和 --hard。
git checkout 则是把文件从历史记录拿到工作区,不影响暂存区的内容。
git revert 不支持文件层面的操作。

3、fork、 branch、clone 之间的区别

fork:是对存储仓库(repository)进行的远程的,服务器端的拷贝。复刻不是git范畴。
clone:不是复刻,克隆是对某个远程仓库的本地拷贝。克隆时,实际上是拷贝整个存储仓库,包括所有的历史记录和分支。
branch:是一种机制,用于处理单一存储仓库中的变更,并最终目的是用于与其他部分代码合并。

4、pull request 和branch之间有什么区别

branch:代码的一个独立版本。
pull repuest:拉取请求:是当有人用仓库,建立了自己的分支,做了些修改并合并到该分支(把自己修改应用到别人的代码仓库)。

5、Git恢复先前的提交

git reset –hard HEAD~1

6、git cherry-pick

命令git cherry-pick 通常用于把特定提交从存储仓库的一个分支引入到其他分支中。常见的用途是从维护的分支到开发分支进行向前或回滚提交。
合并(merge) 变基(rebase)

7、forking的工作流程的优点

它不是用单个服务端仓库充当“中央”代码库,而是为每个开发者提供自己的服务端库。forking工作流程最常用于公共开源项目中。
Forking工作流程的主要优点是可以汇集提交贡献,又无需每个开发者提交到一个中央仓库中,从而实现干净的项目历史记录。开发者可以推送代码到自己的服务端仓库,而只有项目维护人员直接推送代码到官方仓库中。
当开发者准备发布本地提交时,他们的提交会推送到自己的公共仓库中,而不是官方仓库中。
然后他们向主仓库请求拉取(pull request),这会告知项目维护人员由可以集成的更新。

8、git中 HEAD、工作树和索引之间的区别

head:是当前检出分支的最后一次提交的引用或指针。
该索引/中转区(staging area)是个在/.git/index,单一的,庞大的二进制文件,该文件中列出了分支中所有文件的校验和,时间戳和文件名,它不是个带有文件副本的目录。
工作树/工作目录/工作空间是你看到的和编辑的(源)文件的目录树。

9、解释下Gitflow工作流程

Gitflow工作流程使用两个并行的、长期运行的分支来记录项目的历史记录,分别是master和develop分支。
Master,随时准备发布线上版本的分支,其所有内容都是经过全面测试和核准的(生产就绪)。
Hotfix,维护(maintenance)或修复(hotfix)分支是用于给快速给生产版本修复打补丁的。修复(hotfix)分支很像发布(release)分支和功能(feature)分支,除非它们是基于master而不是develop分支。
Develop,是合并所有功能(feature)分支,并执行所有测试的分支。只有当所有内容都经过彻底检查和修复后,才能合并到master分支。
Feature,每个功能都应留在自己的分支中开发,可以推送到develop分支作为功能(feature)分支的负分之。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
东南亚位于我国倡导推进的“一带一路”海陆交汇地带,作为当今全球发展最为迅速的地区之一,近年来区域内生产总值实现了显著且稳定的增长。根据东盟主要经济体公布的最新数据,印度尼西亚2023年国内生产总值(GDP)增长5.05%;越南2023年经济增长5.05%;马来西亚2023年经济增速为3.7%;泰国2023年经济增长1.9%;新加坡2023年经济增长1.1%;柬埔寨2023年经济增速预计为5.6%。 东盟国家在“一带一路”沿线国家中的总体GDP经济规模、贸易总额与国外直接投资均为最大,因此有着举足轻重的地位和作用。当前,东盟与中国已互相成为双方最大的交易伙伴。中国-东盟贸易总额已从2013年的443亿元增长至 2023年合计超逾6.4万亿元,占中国外贸总值的15.4%。在过去20余年中,东盟国家不断在全球多变的格局里面临挑战并寻求机遇。2023东盟国家主要经济体受到国内消费、国外投资、货币政策、旅游业复苏、和大宗商品出口价企稳等方面的提振,经济显现出稳步增长态势和强韧性的潜能。 本调研报告旨在深度挖掘东南亚市场的增长潜力与发展机会,分析东南亚市场竞争态势、销售模式、客户偏好、整体市场营商环境,为国内企业出海开展业务提供客观参考意见。 本文核心内容: 市场空间:全球行业市场空间、东南亚市场发展空间。 竞争态势:全球份额,东南亚市场企业份额。 销售模式:东南亚市场销售模式、本地代理商 客户情况:东南亚本地客户及偏好分析 营商环境:东南亚营商环境分析 本文纳入的企业包括国外及印尼本土企业,以及相关上下游企业等,部分名单 QYResearch是全球知名的大型咨询公司,行业涵盖各高科技行业产业链细分市场,横跨如半导体产业链(半导体设备及零部件、半导体材料、集成电路、制造、封测、分立器件、传感器、光电器件)、光伏产业链(设备、硅料/硅片、电池片、组件、辅料支架、逆变器、电站终端)、新能源汽车产业链(动力电池及材料、电驱电控、汽车半导体/电子、整车、充电桩)、通信产业链(通信系统设备、终端设备、电子元器件、射频前端、光模块、4G/5G/6G、宽带、IoT、数字经济、AI)、先进材料产业链(金属材料、高分子材料、陶瓷材料、纳米材料等)、机械制造产业链(数控机床、工程机械、电气机械、3C自动化、工业机器人、激光、工控、无人机)、食品药品、医疗器械、农业等。邮箱:market@qyresearch.com

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值