这篇文章主要介绍“Git原理和常用命令有哪些”,在日常操作中,相信很多人在Git原理和常用命令有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Git原理和常用命令有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
成都创新互联始终坚持【策划先行,效果至上】的经营理念,通过多达十多年累计超上千家客户的网站建设总结了一套系统有效的全网整合营销推广解决方案,现已广泛运用于各行各业的客户,其中包括:雨棚定制等企业,备受客户认可。
一、 前言
Git是什么
开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。最开始为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
从一般开发者的角度来看,git有以下功能:
1、从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上。
2、在自己的机器上根据不同的开发目的,创建分支,修改代码。
3、在单机上自己创建的分支上提交代码。
4、在单机上合并分支。
5、把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。
6、生成补丁(patch),把补丁发送给主开发者。
7、看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。
8、一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。
二、Git 原理:
1. 工作区(Working Directory)
就是你在电脑里能看到的目录,开发时候所在目录或文件夹。当我们新建目录或者文件夹时的内容都放在工作区。
2. 版本库(Repository)
工作区有一个隐藏目录.git
,这个不算工作区,而是Git的版本库。
Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master
,以及指向master
的一个指针叫HEAD
。大致结构如下:
3. 从工作区如何到暂存区:
我们把文件往Git版本库里添加的时候,是分两步执行的:
第一步是用
git add
把文件添加进去,实际上就是把文件修改添加到暂存区(被版本库索引);第二步是用
git commit
提交更改,实际上就是把暂存区的所有内容提交到当前分支。因为我们创建Git版本库时,Git自动为我们创建了唯一一个
master
分支,所以,现在,git commit
就是往master
分支上提交更改。
4. 常见的工作场景如下:
三、 常用命令
远程相关:
git remote add origin git://xxx 关联远程分支,其中origin 为远程仓库的别名
git remote remove origin 解除分支关联
push相关操作:
git push origin <本地分支>:<远程分支>
git push -u origin master // 默认情况下这条语句等价于提交本地的master仓库到远程仓库,并作为远程的master分支
git push origin test:test // 提交本地test分支作为远程的test分支
git push origin test:master // 提交本地test分支作为远程的master分支
pull相关命令
git pull origin <远程分支>:<本地分支>
git pull origin next:master //将远程next分支与本地master分支合并
git pull origin next //将远程next分支与当前所在分支合并
git pull origin //当前分支与远程分支存在追踪关系,git pull
就可以省略远程分支名
其他:
git checkout -b dev //创建并切换到dev分支
git merge dev //合并dev分支到当前分支
git checkout dev //切换到dev分支
git branch dev //创建dev 分支
常见场景:
1. 将此次修改提交到bugfix分支后,也需要提交到dev分支。则切换到dev分支执行以下命令:
git cherry-pick commitid // 将某个分支的提交再次在当前分支提交。也可以在同一分支执行
git cherry-pick commitid1 .. commitid1 // 将某个分支的commitid1 与commitid1之间的提交再次在当前分支提交。
2. 在当前分支A修改代码到一半,又需要立马切到另一个分支B解决棘手问题,又不想先提交分支A的代码。如果强制切到B分支,则A分支的修改会被丢弃。使用stash可以将当前修改缓存起来:
git stash save "xxx" //给当前缓存内容取名“xxx”,便于记录版本
注意:默认将暂存和未暂存(被索引)的文件缓存起来。
git stash list // 查看所有缓存内容
git stash pop/apply //pop将缓存栈顶弹出并应用到当前分支,apply将缓存栈顶应用到当前分支,不弹出
git stash pop/apply stash@103 //应用指定缓存内容
git stash clear // 清除所有缓存
git stash drop stash@104 //删除指定缓存,默认栈顶
四、IntelligJ idea 使用Git
五、Eclipse使用Git
https://my.oschina.net/woniuyi/blog/3103613
到此,关于“Git原理和常用命令有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!
本文题目:Git原理和常用命令有哪些
文章来源:http://scyingshan.cn/article/jjgege.html