这篇文章主要介绍“Git原理和常用命令有哪些”,在日常操作中,相信很多人在Git原理和常用命令有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Git原理和常用命令有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
Git是什么
从一般开发者的角度来看,git有以下功能:
1、从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上。
2、在自己的机器上根据不同的开发目的,创建分支,修改代码。
3、在单机上自己创建的分支上提交代码。
4、在单机上合并分支。
5、把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。
6、生成补丁(patch),把补丁发送给主开发者。
7、看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。
8、一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。
就是你在电脑里能看到的目录,开发时候所在目录或文件夹。当我们新建目录或者文件夹时的内容都放在工作区。
工作区有一个隐藏目录.git
,这个不算工作区,而是Git的版本库。
Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master
,以及指向master
的一个指针叫HEAD
。大致结构如下:
我们把文件往Git版本库里添加的时候,是分两步执行的:
第一步是用git add
把文件添加进去,实际上就是把文件修改添加到暂存区(被版本库索引);
第二步是用git commit
提交更改,实际上就是把暂存区的所有内容提交到当前分支。
因为我们创建Git版本库时,Git自动为我们创建了唯一一个master
分支,所以,现在,git commit
就是往master
分支上提交更改。
远程相关:
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 //删除指定缓存,默认栈顶
https://my.oschina.net/woniuyi/blog/3103613
到此,关于“Git原理和常用命令有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。