`
yidianfengfan
  • 浏览: 124175 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

【转】git基本命令与使用流程

    博客分类:
  • java
阅读更多
1

获得帮助可以使用类似man git-****的命令格式:

想获得关于commit命令的帮助,则man git-commit

想获得关于pull命令的帮助,则man git-pull

想获得关于merge命令的帮助,则man git-merge

以此类推

2

任何人在使用git之前,都要提交简单的个人信息,以便git区分不同的提交者身份。

#git config –global user.name “your name”

#git config –global user.email yourname@example.com

3

想新开启一个项目,应该先建立一个目录,例如名为myproject,然后所有的项目开发内容都在此目录下进行。

#cd myproject

#git init

#git add .

#git commit //这个步骤会自动进入编辑状态,要求提交者输入有关本次提交的“开发信息”

至此,一个新项目就诞生了,第一个开发信息(开发日志)也随之诞生。

4

如果改进了项目源代码,并且到了开发者认为“应该再次记录开发信息”的时候,则提交“工作成果”。

#git commit -a  //这是一个偷懒的命令,相当于git add .; git commit;

但是,此处有一点应该注意,那就是git commit -a无法把新增文件或文件夹加入进来,所以,如果你新增了文件或文件夹,那么就要老老实实的先git add .,再git commit喽。[此处非常感谢freeren的提醒]

5

想检查到目前为止对源码都做了哪些修改(相对于本次工作刚开始之时):

#git diff //这个命令只在git add之前使用有效。如果已经add了,那么此命令输出为空

#git diff –cached //这个命令在git add之后在git commit之前有效。

#git status  //这个命令在git commit之前有效,表示都有哪些文件发生了改动

6

想查看自项目开启到现在的所有开发日志

#git log

#git log -p //会输出非常详细的日志内容,包括了每次都做了哪些源码的修改

7

开启一个试验分支(experimental),如果分支开发成功则合并到主分支(master),否则放弃该试验分支。

#git branch experimental //创建一个试验分支,名称叫experimental

#git branch //显示当前都有哪些分支,其中标注*为当前所在分支

#git checkout experimental //转移到experimental分支

(省略数小时在此分支上的开发过程)…

如果分支开发成功:

#git commit -a //在experimental分支改进完代码之后用commit在此分支中进行提交

#git checkout master //转移回master分支

#git merge experimental //经证实分支开发成功,将exerimental分支合并到主分支

#git commit -a //彻底完成此次分支合并,即提交master分支

#git branch -d experimental //因为experimental分支已提交,所以可安全删除此分支

如果分支开发失败:

#git checkout master

#git branch -D experimental //由于分支被证明失败,因此使用-D来放弃并删除该分支

8

随时查看图形化分支信息。

#gitk

9

当合作伙伴bob希望改进我(rocrocket)的工作成果,则:

bob$git clone /home/rocrocket/project myrepo //此命令用于克隆我的工作到bob的myrepo目录下。请注意,此命令有可能会因为/home/rocrocket的目录权限问题而被拒绝,解决方法是chmod o+rx /home/rocrocket。

(省略bob数小时的开发过程)…

bob$git commit -a //bob提交自己的改进成果到自己的git仓库中,并口头告知我(rocrocket)他已经完成了工作。

我如果非常非常信任bob的开发能力:

$ cd /home/rocrocket/project

$ git pull /home/bob/myrepo //pull命令的意思是从远端git仓库中取出(git-fetch)修改的代码,然后合并(git-merge)到我(rocrocket)的项目中去。读者要记住一个小技巧,那就是“git pull .”命令,它和git merge的功能是一样的,以后完全可以用git pull .来代替git merge哦!请注意,git-pull命令有可能会因为/home/bob的目录权限问题而被拒绝,解决方法是chmod o+rx /home/bob。

如果我不是很信任bob的开发能力:

$ cd /home/rocrocket/project

$ git fetch /home/bob/myrepo master:bobworks //此命令意思是提取出bob修改的代码内容,然后放到我(rocrocket)工作目录下的bobworks分支中。之所以要放到分支中,而不是 master中,就是要我先仔仔细细看看bob的开发成果,如果我觉得满意,我再merge到master中,如果不满意,我完全可以直接git branch -D掉。

$git whatchanged -p master..bobworks //用来查看bob都做了什么

$git checkout master //切换到master分区

$git pull . bobworks //如果我检查了bob的工作后很满意,就可以用pull来将bobworks分支合并到我的项目中了

$git branch -D bobworks //如果我检查了bob的工作后很不满意,就可以用-D来放弃这个分支就可以了

过了几天,bob如果想继续帮助我开发,他需要先同步一下我这几天的工作成果,只要在其当初clone的myrepo目录下执行git pull即可:

#git pull //不用加任何参数,因为当初clone的时候,git已经记住了我(rocrocket)的工作目录,它会直接找到我的目录来取。
分享到:
评论

相关推荐

    Git开发操作流程v1.0 Git使用笔记 git常用命令 git常见问题

    Git基本命令说明 3 Git如何将本地的项目上传到Git 20231102 5 1、 首先需要在git服务器中建立个工程 5 2、 在本地用git执行命令 5 Git新建一个project 6 Git clone带用户名和密码 7 Git checkout 忽略修改的文件 7 ...

    Git基础+工作流程+常用命令+托管服务

    了解Git基本概念 能够概述git工作流程 能够使用Git常用命令 熟悉Git代码托管服务 能够使用idea操作git

    Git介绍与使用-培训专用课程PPT

    2、主要内容是Git的介绍、Git的特点、集中式和分布式版本控制系统的不同与优点、Git和GitHub以及GitLab的区别、Git的安装和配置、Git的工作流程、Git的工作原理、暂存区和工作区以及版本库的概念、开发场景中常用的...

    git使用说明.xmind

    git使用流程 ,针对git基本命令 以及github的使用进行总结

    Git权威指南PDF完整版

    26.1 使用 git-svn 的一般流程/ 380 26.2 git-svn 的奥秘/ 386 26.2.1 Git 库配置文件的扩展及分支映射/ 387 26.2.2 Git工作分支和 Subversion 如何对应/ 388 26.2.3 其他辅助文件/ 390 26.3 多样的 git-svn 克隆...

    Git操作流程及部分问题解决方案(纯命令版).docx

    Git基本操作流程-命令版,最后附了两个问题:1.git fetch 和 git pull 有什么区别? 2.在git前台页面和命令端显示的不一致问题

    Git开发操作文档 全面介绍Git技术

    在学习Git的过程中,读者可以深入了解Git的核心命令和功能,包括git clone、git add、git commit等常用命令的使用和配置方法。同时,还介绍了如何使用Git进行团队协作开发,包括如何创建和管理分支、如何合并代码等...

    Git学习笔记/常用命令总结

    Git常用命令的总结,适用于Git初学者和需要用到Git工具的开发人员。 内容包括: 1.Git安装配置 2.Git工作流程 ...5.Git基本操作 6.Git分支管理 7.Git查看提交历史 8.Git标签 9.Git远程仓库 10.Git服务器搭建

    git分支操作.txt

    gti详细的分支操作,在git中,可以使用git merge 和git rebase两个命令来进行分支的合并。 git merge 和git rebase在大体上都差不多,下文主要以git merge来例来讲解分支的合并流程。 如果你想了解分支合并的更多...

    git sourseTree

    git的使用 sourse tree 里面是git的基本命令及基础的使用流程 还有一些关于git的资源网站

    git入门教程

    简明扼要的讲述了git开发的基本命令和流程,是入门者学习GIT的好文章

    Git常见的面试题及其答案

    使用命令git add <文件>将文件添加到Git仓库中。可以使用git add .将所有文件添加到Git仓库。 4、如何查看当前分支的状态? 使用命令git status可以查看当前分支的状态,包括工作区和暂存区的改动。 5、如何提交...

    git-flow的工作流程

    基本上你可以定义一个完全适合你自己项目的工作流程,或者使用一个别人定义好的。在这章节中我们将一起学习一个当前非常流行的工作流程git-flow。一旦安装安装git-flow,你将会拥有一些扩展命令。这些命令会在一个...

    Git代码提交流程及git命令汇总(基础篇)

    基本了解 git命令是一些命令行工具的集合,它可以用来跟踪,记录文件的变动。比如你可以进行保存,比对,分析,合并等等。这个过程被称之为版本控制。已经有一系列的版本控制系统,比如SVN, Mercurial, Perforce, ...

    Git-cheat-sheet

    本资源是Tower Git的基本使用手册,包含一些基本的Git命令和使用流程。本资源仅用于学习和借鉴,不可用于商业用途!

    Basic-Git-Cheatsheets:基本的Git工作流程速查表

    基本的Git速查表检查Git仓库的状态git status命令在Git存储库中使用,以显示工作目录和暂存区的状态。 git status的输出可以有很大的不同,并且通常包含有用的消息以指导用户管理其存储库。 例如,git status将在...

    1分布式Git-分布式工作流程

    文章的第二篇你现在拥有了一个远程Git版本库,能为所有开发者共享代码提供服务,在一个本地工作流程下,你也已经熟悉了基本Git命令。你现在可以学习如何利用Git提供的一些分布式工作流程了。这一章中,你将会学习...

    Git+&+GitLab+使用及规范.docx

    本文介绍Git 基本操作 ,包括Git安装配置及基本使用、Git本地分支管理、Git远程分支管理、Git Tag标签管理、Git Log日志、其它高级命令、GitLib权限管理、命名规则 分支模型、整体流程图:包括主要分支(保护分支)...

Global site tag (gtag.js) - Google Analytics