Git使用基础

GIT客户端安装:

http://git-scm.com/download/

图形化工具推荐:

http://git-scm.com/downloads/guis

Eclipse插件EGIT:

http://www.eclipse.org/egit/

常用命令
  • 配置用户名及邮箱
git config --global user.name "xiaoxinhua" #--global表明本机的所有git仓库均使用该配置
git config --global user.email "xiaoxinhua@xunlei.com"
  • 创建本地版本库
cd  ~\myrep
git init

1.为~\myrep目录创建版本库,在该目录下会创建一个隐藏的版本库文件夹。 
2.在版本库中创建默认主分支 master。 
3.将当前的工作目录指针HEAD指向master分支。

  • 分支操作
git branch           #查看版本库的所有分支,当前使用分支前会用'*'标识
git branch dev       #创建名为dev的分支
git branch -d dev    #删除名为dev的分支
git checkout dev     #切换当前工作目录到dev
git checkout -b dev  #创建并切换到dev分支
git merge dev        #将dev目录合并到当前分支
git merge --no--ff -m "comment"  dev  #不使用"Fast forward"模式合并分支。
#merge分支的时候如果出现 conflict,需要先解决 冲突。
  • 提交修改到版本库
git add file1.java
git add file2.java
git add file3.java
git commit -m "add 3 java file." #-m 参数为提交添加注释

需要提交的文件修改通通先通过add命令放到暂存区,然后通过commit命令一次性提交暂存区的所有修改。

  • 查看当前版本库文件修改状态
git status
  • 比较 版本库中文件 和 工作区的文件
git diff readme.txt
  • 日志
git log *                  #查看提交日志
git log --pretty=oneline   #以行的形式查看日志,得到的一长串字符串为commit id。
git reflog                   #查看每一次命令日志
  • 回退
git reset --hard HEAD^   #回退到上一个提交
git reset --hard HEAD^^  #回退到上上一个提交
git reset --hard 3628164 #回退到指定的commit id,commit id不需要写完。git会自动匹配。
  • 撤销
git checkout -- readme.txt #用版本库里的版本替换工作区的版本
git reset HEAD readme.txt  #回退已经add的修改
  • 从版本库中删除文件。
git rm test.txt
git commit -m "comment"
  • 工作区操作
git stash                 #保存当前工作区
git stash list            #查看保存的工作区
git stash drop stash@{0}  #删除工作区存档
git stash apply stash@{0} #加载工作区存档
git stash pop             #删除并恢复到最新工作区存档
git remote                      #查看远程库信息
git remote -v                   #查看远程库更多信息
git remote add origin git@github.com:xixihe/hello-world.git #添加本地库与远程库的关联,origin为远程版本库的默认命名
git push -u origin master       #将当前分支master推送到远程库。
git push origin master          #由于远程库为空,-u参数将在远程创建master库并与本地master关联起来。
git clone git@github.com:xixihe/hello-world.git #拉取并关联远程已经存在的库到本地
git checkout -b dev origin/dev  #从远程库分支创建本地分支
git pull                        #拉取远程库的修改到本地版本库
git branch --set-upstream dev origin/dev #关联 本地版本库分支 与 远程库的分支

更多详细及原理请参阅:

时间: 2024-09-05 21:59:48

Git使用基础的相关文章

Git使用基础篇

 Git是一个分布式的版本控制工具,本篇文章从介绍Git开始,重点在于介绍Git的基本命令和使用技巧,让你尝试使用Git的同时,体验到原来一个版 本控制工具可以对开发产生如此之多的影响,文章分为两部分,第一部分介绍Git的一些常用命令,其中穿插介绍Git的基本概念和原理,第二篇重点介绍 Git的使用技巧,最后会在Git Hub上创建一个开源项目开启你的Git实战之旅 1.Git是什么         Git在Wikipedia上的定义:它是一个免费的.分布式的版本控制工具,或是一个强调了速度快的

Git使用基础篇(一些常用命令和原理)_服务器其它

Git是一个分布式的版本控制工具,本篇文章从介绍Git开始,重点在于介绍Git的基本命令和使用技巧,让你尝试使用Git的同时,体验到原来一个版本控制工具可以对开发产生如此之多的影响,文章分为两部分,第一部分介绍Git的一些常用命令,其中穿插介绍Git的基本概念和原理,第二篇重点介绍 Git的使用技巧,最后会在Git Hub上创建一个开源项目开启你的Git实战之旅 1.Git是什么 Git在Wikipedia上的定义:它是一个免费的.分布式的版本控制工具,或是一个强调了速度快的源代码管理工具.Gi

Git基础01

Git基础教程,只介绍Git的基础命令,因为篇幅问题,将其分为4篇博客. 为什么是Git 一句话:Git简单,上手快,支持本地无网络提交,多人协作方便. 缺点:要精通,需要一定的过程.推荐使用命令行模式,对于没有看惯了GUI的人,不习惯. Git入门教程很多,最简单的教程是<git - 简明指南>,稍微详细点的是廖雪峰的<Git教程>. Git最全的教程是<Pro Git>(有中文版本). 2015.09.17更新:有个歪果仁给我发邮件让我添加他的教程,有兴趣的请自行查

当执行Git命令时,Git做了什么

认识GIT的存储类型 Git存储类型主要有4种,blob,tree,commit,tag,他们以压缩的形式存储在.git/objects目录当中.其中blob和tree构成其完整的文件存储系统,类似于操作系统的文件系统.commit和tag则维护提交和标记等信息. 在Git的存储模型当中有一个原则,只要类型和内容相同,就会被认定为同一个文件,无论在工作区当中文件有多少份拷贝,在git库里面只会存有一份,并以其类型,大小和内容串接后的内容结果的散列值作为其文件名.其格式为: #TYPE# #SPA

Git 在小团队中的管理流程(转)

  目标读者:了解 Git 的基本概念,能够使用 Git 进行基本的本地和远程操作. 有关 Git 的基础知识可以参见 知乎回答-怎样使用 GitHub?,天猪(刘勇)给出了一些很好的学习资料. 本文介绍了小团队中 Git 管理的基本使用流程.小团队的代码管理可以采用这样一种方式:项目存在一个中心远程仓库,作为团队成员进行代码交流的主要场所.同时可以存在一些成员远程仓库,用于局限在团队中部分成员间的代码交流.并将成员分成以下几类不同的角色:负责人.普通组员.预发布责任人 和 版本修复责任人.下面

Git详解之一:Git起步

原文:http://blog.jobbole.com/25775/ 起步 本章介绍开始使用 Git 前的相关知识.我们会先了解一些版本控制工具的历史背景,然后试着让 Git 在你的系统上跑起来,直到最后配置好,可以正常开始开发工作.读完本章,你就会明白为什么 Git 会如此流行,为什么你应该立即开始使用它.(查看Git详解系列的全部文章) 1.1 关于版本控制 什么是版本控制?我真的需要吗?版本控制是一种记录若干文件内容变化,以便将来查阅特定版本修订情况的系统.在本书所展示的例子中,我们仅对保存

Git 系列(一):什么是 Git

欢迎阅读本系列关于如何使用 Git 版本控制系统的教程!通过本文的介绍,你将会了解到 Git 的用途及谁该使用 Git. 如果你刚步入开源的世界,你很有可能会遇到一些在 Git 上托管代码或者发布使用版本的开源软件.事实上,不管你知道与否,你都在使用基于 Git 进行版本管理的软件:Linux 内核(就算你没有在手机或者电脑上使用 Linux,你正在访问的网站也是运行在 Linux 系统上的),Firefox.Chrome 等其他很多项目都通过 Git 代码库和世界各地开发者共享他们的代码. 换

谷歌启动容错Git管理系统项目:Git Ketch

尽管Git Ketch项目开发才刚刚开始,谷歌公司已经对外宣布了他们的第一个Git项目--Git Ketch,一个多主机Git管理系统,能够通过访问多个Git服务器来复制信息,以确保复制信息的复原性和可扩展性.所做的这些改变都是基于原有用Java搭建的名为JGit的Git服务器基础之上的,虽然这里面的其它Git服务器可能是多主机群集的一部分. 最初设计Git的目的是将Git打造成一个分布式源代码管理库系统,但是大多数组织都采用了一个集中式的方式:采用一个带有"黄金副本"代码的主库,所有

Git~GitLab当它是一个源代码管理工具时

最近开始接触和使用GitLab,用它来做源代码的版本控制,CI.CD持续集成和持续交付,感觉功能确实很强大,今天也只能先说一下它的源代码管理功能,核心就是GIT,对GIT进行了封装,提供了一些扩展功能,事实上GitLab类似于GitHub,都是以Git以基础的! 下面我们来看一个场景,首先你在GitLab上建立了一个Project,然后本地有对应的项目,希望把本地现有的项目迁入到GitHub上,主要分为以下几个步骤: 一 在远程建立一个仓库,它有https和ssh的地址 二 本地建立仓库文件夹