git使用总结

前言

今天给大家总结的是git的相关知识点,可能还有大部分公司用的是svn版本管理工具,但是,git用于敏捷高效地处理任何或小或大的项目的性能要远远高于svn,之前听说过一句话,“现在还在用svn的公司,一般都是技术落后的公司”,当然,这并没有贬低svn的意思。希望通过这篇文章,让大家了解到git的强大之处。

git和svn的区别

1、GIT是分布式的,SVN不是:这是GIT和其它非分布式的版本控制系统,例如SVN,CVS等,最核心的区别。

2、GIT把内容按元数据方式存储,而SVN是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似.svn,.cvs等的文件夹里。

3、GIT分支和SVN的分支不同:分支在SVN中一点不特别,就是版本库中的另外的一个目录。

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

5、GIT的内容完整性要优于SVN:GIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。

总结: 分布式的好处:即使没有网络也一样可以Commit,查看历史版本记录,创建项 目分支等操作,等网络再次连接上Push到Server端;创建分支git的速度远远超乎你的想象,并且分支有完整的文件。

git的安装

Git 各平台安装包下载地址为:git-scm.com/downloads 安装的过程都比较简单,自己下载好安装程序,就可以解决了。

git的一般工作流程

1、克隆 Git 资源作为工作目录。

2、在克隆的资源上添加或修改文件。

3、如果其他人修改了,你可以更新资源。

4、在提交前查看修改。

5、提交修改。

6、在修改完成后,如果发现错误,可以撤回提交并再次修改并提交。

对git的几个区的认识

工作区:我们平常的项目目录就是一个工作区

暂存区: 一般存放在 ".git目录下" 下的index文件(.git/index)中,简单的理解,当项目目录里面的文件增、删、改操作之后,文件放入的区域

本地仓库: 工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库,里面记录着所有的提交、更改等操作。

远程仓亏: 远程管理代码的目录,就像svn的项目地址。

git常用工作流程常见

场景一: 讲已有的一个项目用git来管理,并且放大远程仓库,其他人公共维护该项目。

1、git init 初始化自己的项目为一个 Git 仓库。

2、git remote add origin +远程仓库地址

备注: origin就是我们的远程库的名字,这是Git默认的叫法,也可以改成别的;

3、git push -u origin master

注意:

第一次使用加上了-u参数,是推送内容并关联分支。推送成功后就可以看到远程和本地的内容一模一样,下次只要本地作了提交,就可以通过命令:git push origin master,master是远程仓库的分支,默认为master,也可以改名为别的。

总结: 这里还有另外一种方法:git clone +远程仓库地址,先将远程仓库克隆到本地,然后将所有的项目代码拷贝到该目录下,执行 git add . 添加所有的文件到版本管理, 再git commit -m "log" 提交所有修改 ,最后git push -u origin master完成推送到远程仓库,别人就可以从远程仓库拉取代码了。

注意:

1、这里的远程仓库一般都是由管理员创建,管理员创建之后,还要根据项目成员的ssh文件,添加该仓库的权限,然后项目成员就可以拉取该仓库了。

2、一般在创建仓库的时候就要创建.gitignore文件,该文件为忽略文件,例如安卓项目的build文件等很多文件不需要添加到版本管理里面,就需要在.gitignore文件添加忽略。一个标准的安卓项目.gitignore

场景二 :新提交的代码被检测出来很大的问题,现在需要回到以前的一个稳定的版本。

1、使用git log命令查看所有的历史版本,获取某个历史版本的id

2、git reset --hard 版本id 回到该版本

3、有需要可以推送到远程的仓库git push origin master

场景三: 目前我正好在修改代码,还没有提交,但是老板突然安排了一个新任务,需要先完成新任务,打包。

1、用git stash 将所有修改暂存起来,改名了结束后,就是你上一次提交时的状态。

2、git checkout -b newBranck 创建一个新的分支来完成新的任务,分支名为newBranck。

3、在分支上完成相关功能,然后用git cehckout master 切换回刚刚的分支。

4、git merge newBranck 将新功能的代码合并到master分支,打包给老板

5、git stash pop 取出之前暂存的修改,继续自己没有按成的任务

注意: git stash list 可以查找你暂存的所有修改记录的版本,如果你多次使用了git stash,这里就会出现多个可以取出来的暂存修改内容,此时,git stash apply stash@{1},就可以将你指定版本号为stash@{1}的工作取出来,当你将所有的栈都应用回来的时候,可以使用’git stash clear’来将栈清空。

场景4:两个成员同事修改了某个文件,一个先提交,后提交的那个人需要解决冲突。 1、在自己的开发分支上先提交代码 git commit -am "log" 2、切换到master分支 git checkout master, 3、拉取master分支上其他成员的修改,git pull origin 远程仓库名字 4、git merge dev 将自己的开发分支添加的功能合并到master分支,执行之后就会报合并冲突的错误 5、命令窗口里面会列出所有冲突的文件,打开没一个文件,一个一个解决所有的冲突 6、解决所有的冲突后git commit -am "log" 提交之后,git push origin 远程仓库名字 提交到远程仓库

注意: 解决冲突的时候,每个冲突的地方都有相对应的分支名字,然后应该和该分支的组员一起解决冲突,很多时候你自己并不知道该冲突的代码应该怎样修改。

总结:上面是几个比较常见的常见,当你数量掌握git的分支操作之后,你会发现很多比较复杂的场景都可以使用git 的分支来解决。

git 的常用命令

www.cnblogs.com/cspku/artic…,这篇文章里面基本上将了常见的所有命名。

git 的分支管理

我觉得可能不同的项目或者不同习惯的人需要不同的分支策略,这些没有必要非要按照某种规则去遵守。

重点推荐:阮一峰:Git分支管理策略 重点推荐,简单全面

结尾

目前git使用的相关文章已经非常多了,本文也没有详细的讲解git的所有知识,主要是一个抛砖迎玉的作用,让大家认识到git,多去使用git你就会发现git的好处,最后附上一些git使用的文章。

1.Git常用操作和技巧

2.git - 简明指南

3.Pro Git简体中文版

4.廖雪峰 简明git教程

5.Git Commands and Best Practices Cheat Sheet

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值