一、前言

作为一个合格的猿,SVN的使用相信大家已经非常熟悉了,GIT作为一个强大的版本控制工具,也是非常有必要深入学习的。对比两个工具,说说GIT的优缺点:

优点:1、GIT拥有全世界的资源,大部分优秀的开源项目都是放在github上,这一点足以说明了一切;

2、功能上,GIT拥有svn所有的功能,提交,保存,更新,合并等等。不同的是,GIT有两个仓库,一个是代码的远程仓库(服务器),一个是电脑的本地仓库,这和maven有点类似,所有的提交和更新都需要通过这两个仓库,更安全。支持离线提交,不受网络影响

3、GIT不仅有基本的控制,还有分支,派生,等等高级功能,适合大团队,高要求的项目协作。

缺点:命令比较多,使用比较麻烦,再就是小团队,效率反而没有svn快(两个仓库的原因),简单比如,svn是瑞士军刀,短平快,git是牛刀,稳但重

二、如何使用(如何安装略)

分两种

第一、开发工具Eclispe等

1、从github获取项目

Import -> Git -> Projects from Git ->Clone URI填写github上的项目https网址即可。

2、提交github

右键项目 team - > Commit ->  Commit and Pust既Commit 到本地仓库,又Push到远程github

3、单个文件回滚(本地)

右键文件 team -> Show Local History  在右侧Revison Time栏里 选择欲回滚版本  ->右键  get Contents

4、整体项目回滚(本地)

右键项目 team - > Show in History  在右侧History栏里,选择欲回滚版本 右键 -> Reset -> 选Hard模式即可。另外两个没试验过。

5、回滚后,想恢复原高版本(本地)

右键项目 team -> pull拉至原最新版本,在History中所有操作的版本又都出来了。

6、建立分支 合并

建立:右键项目 team -> Switch to ->New Branch建立一个新的分支。新的分支可以进行添加 修改等操作。然后 Commit到本地,并push到github

合并: swith to master,然后Merge -> 选Local下面的分支,然后ok。这样就在本地合并了。Push Branch Master可以push到github

命令行Git的使用

基本概念

fetch

将代码从远程仓库拿到本地仓库

pull

将代码从远程仓库拿到本地工作空间

commit

从本地工作空间提交到本地仓库

push

将代码从本地仓库提交到远程仓库

具体命令( xxx是仓库地址)

第一次需要做的

1.将远程仓库项目导入本地仓库

git clone xxx

2.将用户名添加进去

git remote add username -pwd xxx

以后的步骤

提交步骤

1.git fetch (用git pull就可以省略)

2.gitpull

其实,pull把fetch的工作都做了。fetch把代码从远程仓库拿到本地仓库。pull直接把代码拿到本地仓库接着拿到工作空间

(如:Eclipse中),这样做,主要是为了是避免直接pull冲突太多,不好解决。

2.1如果pull这步发生冲突

通过Synchronize Workspace比较工作空间中的代码和本地仓库中的代码有什么不一样,手动合并修改,

保存,然后先把刚才发生冲突的文件commit,之后再次pull。

3.如果pull没问题,这时再commit剩余的文件。(先git add 在git commit)

4.最后进行push。

常用命令:git status 查看被修改的文件

git checkout -- <filename>
撤销当前工作区的修改到最近一次执行命令git add or git commit的时候,即若修改之前没有执行git add就回退到最近提交(git commit)的时候,如果之前执行git add则会回退到最新提交到暂存区的版本。
注意:git checkout 如果没有后面没有“--”,就是切换分支的命令。
git checkout -b <branchname>:新建分支branchname,并切换至改分支。
git reset --hard <版本号>
设置到指定版本
git log --pretty=oneline
查看历史版本
git reflog
显示版本变动的命令
查看分支:git branch 
创建分支:git branch <name> 
切换分支:git checkout <name> 
创建+切换分支:git checkout -b <name> 
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
git log --graph命令可以看到分支合并图

合并分支不使用fast forward:git merge --no-ff -m "merge with no-ff" dev

git stash:保存现场
git stash list: 查看保存文件
git stash apply:恢复现场,但不删除保存的内容
git stash pop: 恢复现场并删除stash内容

git push origin branch-name:?从本地推送分支
git checkout -b branch-name origin/branch-name:?在本地创建和远程分支对应的分支
git branch --set-upstream branch-name origin/branch-name:?建立本地分支和远程分支的关联

Git学习网站 : http://www.atlassian.com/git/

http://www.open-open.com/lib/view/open1328069733264.html

http://www.open-open.com/lib/view/open1328069889514.html

http://www.ruanyifeng.com/blog/2012/07/git.html

git使用大全,强大的项目管理工具相关推荐

  1. OmniPlan Pro for Mac (强大的项目管理工具) v3.14.4

    OmniPlan for mac 是Mac平台的的一款非常强大的项目管理软件,它提供的功能包含了自定检视表.阶层式的纲要模式.成本追踪.里程碑.任务限制与相关性.资源分配.时程控制.Gantt 图表. ...

  2. [Visual Studio+TFS--强大的项目管理工具]

    [Visual Studio+TFS–强大的项目管理工具] 一.前言 微软的Visual Studio非常强大,可以无缝结合Git或自家的TFS(Team Foundation Server),进行项 ...

  3. 十个大牛都在用的项目管理工具 看了真心不后悔

    一个好的项目管理工具使计划.执行和监控项目进度变得轻而易举,是产品研发进度把控.团队协作的"贤内助".项目管理工具具有一系列功能,包括甘特图.表格和投资组合视图等灵活的项目视图,以 ...

  4. 项目管理工具哪个好?最新排名

    项目管理工具当下已经成为项目团队的重要榜首,一款合适好用的项目管理工具可以帮助处理很多机械化工作,将管理者更多精力投入到更有价值的工作中,还可以帮助团队组织和计划项目,跟踪进度,处理预算和协作. 该如 ...

  5. Git命令大全:轻松掌握Git工具,提高代码管理效率

    文章目录 Git命令大全 一.前言 二.安装 1. Windows系统上的Git安装 2. Linux系统上的Git安装 3. MAC系统上的Git安装 三.配置 四.配置用户名和邮箱地址 五.创建仓 ...

  6. GIT项目管理工具(part1)--简介及概念

    本系列BLOG为鄙人学习GIT时的学习笔记.前一个知识点引出后一个知识点,后一个例子接着前一个例子. 文章目录 GIT简介 基本概念 导航 系列文章目录 GIT简介 什么是GIT(项目管理工具) gi ...

  7. 盘点40个最佳项目管理工具大全

    更多专业文档请访问 www.itilzj.com 要在任何业务中取得成功,对项目进行适当的管理非常重要.项目管理是一系列活动,包括计划.执行.控制和完成项目.项目管理工具有助于简化此过程. 下面是40 ...

  8. Java开源项目管理工具大全

    文章原地址:http://news.csdn.net/n/20060430/90019.html  Ganttproject Ganttproject,基于项目管理的开源项目,为项目经理提供甘特图表来 ...

  9. 7 个支持敏捷的开源项目管理工具,更好地管理项目

    文章来自开源中国(微信ID:oschina2013) 如需转载请注明上述来源,其他来源无效并视为侵权. 在一项调查中,有 71% 的组织表示他们在开发过程中会用到敏捷方法. 此外,用敏捷方法管理项目比 ...

最新文章

  1. LeetCode 295. 数据流的中位数 Hard难度
  2. Redis - Spring Data Redis 操作 Jedis 、Lettuce 、 Redisson
  3. 普通交换机不需要任何设置,也不能设置
  4. Windows下查看wifi密码的命令
  5. 【C++ Primer | 19】控制内存分配
  6. 用Delphi制作网络游戏外挂
  7. 内存类型范围寄存器 (MTRR)
  8. 缓存问题引发的一系列优化
  9. Adobe MasterCollection CS5 试用版下载链接
  10. Linux之telnet命令
  11. 同态加密 应用案例 入门
  12. 平滑滤波器模板尺寸与平滑效果的关系_冲压模具丨折弯尺寸、毛刺、、卯合、滑块不顺的根源...
  13. 【心电信号】基于matlab心电信号PTT+HRV+PRV【含Matlab源码 158期】
  14. 台式计算机没有任务栏,电脑任务栏不见了怎么恢复 电脑任务栏怎么设置并排显示...
  15. TypeScript 安装及基础运行环境搭建 -- 原文来自博客园用户[长岛冰茶。](https://www.cnblogs.com/gaoyd/p/13529026.html)【未修改完成】】...
  16. openfeign接口启动报错: is not assignable to interface feign.hystrix.FallbackFactory
  17. 谁再瞧不起搬砖的我。。
  18. C++字符串赋值、拼接、查找、替换、存取、插入删除和子串
  19. usb接口多少钱_新款本田CRV正式上市,落地价多少钱?
  20. Facebook广告投放5种技巧

热门文章

  1. 你绝对不知道的head标签
  2. html5画布插入图片,html5画布导入图片
  3. 新手如何第一次编写 “Hello World“ Windows 驱动程序 (KMDF)
  4. 國罡上을 國岡上으로 고쳐쓰는者는 뭐하는者일꼬?
  5. python合并word表格单元格_Python-Excel转word表格并合并流程
  6. JavaBean技术的应用——购物车
  7. 如何做好国产三维CAD软件的研发?
  8. 计算机物联网前沿技术汇总
  9. 机器学习为什么强大?
  10. 2022最新微信小程序常见面试题总结