GIT入门操作及原理


学习GIT

主要是两块内容:Git基础和Git分支

一.Git的基本认识:

1.git使用基本流程:

文件流转的三个工作区域:

1.Git的本地数据目录
2.工作目录 
3.暂存区域

2.git的简单工作流程:
     1.在工作目录中修改文件
     2.对修改的文件作快照,并保存到暂存区域
     3.提交更新,将保存在暂存区域的快照转存到git目录中


3.cvcs(集中式版本控制系统)和dvcs(分布式版本控制系统)区别:


二.Git使用(bash git)
首先我们先总结下git status的几种状态:
1.新添加文件到仓库:未跟踪状态
    

2.添加跟踪文件以后:未提交状态(已暂存)
    

3.更新文件以后:(未暂存状态)
    

4.手动删除文件以后:(未暂存状态)
     同3

5.对于更新和手动删除,我们必须将其先暂存
     更新:git add .
     手动删除:git rm XX


远程拿数据的方式:
1.克隆远程仓库
     git clone gitURL XX

     
2.git fetch XX
     只是将远程的数据拉倒本地仓库,并不自动合并到当前工作分支,只能手工合并。
     XX:仓库名称或者URL
     



花了点时间基本上学会了git的使用,下面就通过将既有的用户管理的项目远程发布到git服务器上的例子来介绍下git的整体流程使用。
大致分成两大步骤:1.本地操作 2.远程操作(大部分操作都是在本地操作进行的)

1.首先建立git的工作目录(例如git)
     并同时创建整个项目的根目录:
          

2.然后将workspace下所需的项目拷贝至maven-user


3.本地操作
     
step1:拷贝完成以后通过git-bash进入上面的跟目录

step2:初始化操作
     git init
step3:添加跟踪
     git add .
step4:增加忽略某些文件的配置
     touch .gitignore
     增加:
          *.pid
logs/
.idea
.settings/
target/
*.project
*.classpath
*.iml
step5:直接提交至本地数据目录
     命令:git commit -m '注释信息'
     由于是新添加跟踪文件,因此直接add跟踪后便进入暂存状态
     

step6:将数据添加至远程仓库
     远程没有数据时,就不需要pull数据,直接push便可:
     第一种:
          1.先git remote add 别名 gitUrl
          2.然后git push 别名 master
     如果gitUrl是自定义的也可以,这样相当于创建远程仓库并将数据推送至远程仓库

成功提交


三.Myeclipse下安装Egit

方式一、
直接通过Myeclipse的配置中心,添加软件的updateUrl来进行安装插件。不过这种方式验证了以后,巨慢。



安装成功:


方式二、
     直接下载插件包,用link方式进行安装.




四.Git分支

1.分支基础操作
     创建新的分支:git branch XX
     切换其他分支:git checkout XX
     创建和切换一步完成:git checkout -b XX
     合并分支:git merge XX
     冲突合并:
          原因:两个待合并分支同时修改了分支里面同一个文件的同一部分。Git无法将其赶紧的合并到一起。
          解决:根据提示信息,手动处理。无非是二者选其一或者你亲自整合到一起。

2.分支管理
     分支查看:git branch
     查看与当前分支合并的分支:git branch --merge (相反便是git branch --no-merge)
     删除分支:git branch -d XX(如果未合并,则提示不能删除)
     强制删除分支:git branch -D XX
3.分支式工作流程
     长期分支
     特性分支
4.远程分支:(无法移动的本地分支)
     ps:origin远程仓库名称,XXX代表本地分支名称
     -推送本地分支到远程(同时创建远程分支):git push origin XXX
     
5.衍合
     略,类似于合并


Git错误记录:

问题1 .通过git将本地数据推送至github上时:
          disconnected no supported authentication methods available server sent publickey。
         原因:乌龟git和git本身产生冲突,删除系统变量GIT_SSH便可,重启系统。

猜你喜欢

转载自blog.csdn.net/u014756578/article/details/52874582
今日推荐