`

Git使用

阅读更多

 

git:一个分布式的版本控制工具,类似于SVN等,但是比SVN功能更强大

github:首先是一个网站,其次是提供了git服务,所以很多开源者将自己的代码上传到github上,供更多的开源者一起开发。

 

 

1.git init #进入某个目录,执行这个命令,这就创建了一个仓库

 

#注意:提交新文件和修改的文件都是两步,git add 、 git commit

#如果是修改之后的提交,在git add之后,最好执行下git status查看下状态,再进行commit

2.git add xxx.txt #添加一个文件

#git add -all

 

3.git commit -m "注释"  #提交

 

4.git status#查看仓库的版本状态,看是否有文件被修改

 

5.git diff#如果出现状态不一致,可以使用这个命令进行查看修改了什么内容

 

6.git log#git log --pretty=oneline  将只显示最有用的信息

 

#在git中,HEAD代表是当前版本,HEAD^代表上一个版本,HEAD^^代表上上一个版本,HEAD~100 代表上100个版本

 

7.git reset --hard HEAD^  #回到上一个版本

 

#其实git的版本控制,是通过head指针来控制的,类似于数组下标这个概念

8.git reset --hard 3628164  #后面的数字代表的是某个版本号,指定回退到哪个版本,数字可以不用写完整

 

9.git reflog#记录你之前的每一条命令

 

 

#工作区和暂存区,

10.每次修改,如果不add到暂存区,那就不会加入到commit中

 

#git checkout -- readme.txt文件在工作区的修改全部撤销,这里有两种情况:

#一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;

#一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

#总之,就是让这个文件回到最近一次git commit或git add时的状态

#git checkout -- file命令中的--很重要,没有--,就变成了“切换到另一个分支”的命令

11.git checkout -- file#

 

 

#git reset命令既可以回退版本,也可以把暂存区的修改回退到工作区。当我们用HEAD时,表示最新的版本。

12.git reset HEAD file#可以把暂存区的修改撤销掉(unstage),重新放回工作区。即:执行了add操作之后,把add到暂存区的恢复到之前的工作区状态

 

 

#提交到版本库,自己没有提交的是是工作区的。

#操作系统执行删除文件命令之后,git会检测到状态不一致,可以使用git status查看,有两种情况

#1.确实要删除该文件,那么执行git rm XX.txt ,然后执行 git commit -m "注释",就可以删除

#2.另一种情况是删错了,因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本:

13.git checkout -- xx.txt#其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。

 

 

#将本地的库和远程的github库进行关联,以便push等操作

14.git remote add origin git@github.com:henuzyy/zyy.git

 

#把本地库的所有内容推送到远程库上

#由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,

#还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。

#要关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git;

#关联后,使用命令git push -u origin master第一次推送master分支的所有内容;

#此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;

15. git push -u origin master

 

 

#要克隆一个仓库,首先必须知道仓库的地址,然后使用git clone命令克隆。

#Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快。

16.git clone git@github.com:henuzyy/zyy.git #从远端库里面克隆一个一模一样的版本到本地

 

 

17.git checkout -b dev#创建dev分支,加上-b参数表示创建并切换,相当于以下两条命令:

git branch dev

git checkout dev;

 

18.git branch#命令会列出所有分支,当前分支前面会标一个*号。

 

#合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并

19.git merge dev#用于合并指定分支到当前分支。(Fast-forward:快进模式,直接把当前分支指向dev分支)

   #因为本次合并要创建一个新的commit,所以加上-m参数,把commit描述写进去。

   git merge --no-ff -m "merge with no-ff" dev#准备合并dev分支,请注意--no-ff参数,表示禁用Fast forward:

   

   

20.git branch -d dev#删除dev分支

 

21.git log --graph命令可以看到分支合并图。

 

22.当分支合并出现冲突时,就无法自动合并,只能通过命令,修改内容,解决冲突,才能再次提交进行合并。

 

 

23.分支使用策略

1.master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;

2.干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;

3.你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。

24.git stash#把当前工作现场“储藏”起来,等以后恢复现场后继续工作

   git stash list #这个查看某个分支下,stash之后的记录

   #如果上面那条命令生成的有stash记录,那么可以使用如下两种方式进行恢复

   1.git stash pop#恢复的同时把stash内容也删了

   2.git stash apply#恢复后,stash内容并不删除,你需要用git stash drop来删除

 

25.修复bug分支

在你dev分支进行开发时,突然线上出现了一个bug,那么需要基于master分支,创建一个bug分支,但是此时你的dev分支还不能提交,因为你的任务还没有完成,

那么可以使用上面的24进行bug恢复

 

26.feature分支

当创建一个feature分支之后,代码写好之后,然后add、commit之后,就在准备合并的时候,如果不需要此分支(分支上的代码不需要了),就可以删除该分支,命令如下:

git branch -d feature#如果没有合并,则会提示

git branch -D feature#即使没有合并,也不会提示,强行删除

 

27.git remote -v#查看远程库的信息,可以抓取和推送的origin的地址。如果没有推送权限,就看不到push的地址

 

28.git push origin dev #把本地的dev分支推送到远端

 

29.git checkout -b dev origin/dev#创建一个dev分支,并远端的orgin/dev分支拉下来,赋给它

 

 

汇总:

查看分支:git branch

创建分支:git branch <name>

切换分支:git checkout <name>

创建+切换分支:git checkout -b <name>

合并某分支到当前分支:git merge <name>

删除分支:git branch -d <name>

 

 

30.远端推送冲突

#过程:先用git pull把最新的提交从origin/dev抓下来,然后,在本地合并,解决冲突,再推送

git pull

 

 

多人协作的工作模式:

1.首先,可以试图用git push origin branch-name推送自己的修改;

2.如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;

3.如果合并有冲突,则解决冲突,并在本地提交;

4.没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!

5.如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name。

 

 

多人协作小结:

1.查看远程库信息,使用git remote -v;

2.本地新建的分支如果不推送到远程,对其他人就是不可见的;

3.从本地推送分支,使用git push origin branch-name,如果推送失败,先用git pull抓取远程的新提交;

4.在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;

5.建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name;

6.从远程抓取分支,使用git pull,如果有冲突,要先处理冲突。

 

 

 

 

#将本地git仓库上传到github

1.本地,add,commit 

2.在gihub创建一个仓库,复制该地址,如https://github.com/henuzyy/cy.git

3.在git bash中执行 git push -u https://github.com/henuzyy/cy.git(初次会提示输入github的登录账户和密码)

4.

 

 

 

#需要搞明白的-------------------------------------

1.给一个仓库地址,如何拉到本地,设置账号是局域网的,还是全部都能用的,(个人和公司混用的账户)

 

2.查看修改的内容,查看历史版本,版本比较

 

3.提交

 

4.版本冲突解决

 

 

5.删除文件,提交

 

回退到某个版本

 

分支问题,时间线等

 

6.eclpse中使用教程

 

2
0
分享到:
评论

相关推荐

    git使用教程git使用教程

    git使用教程git使用教程git使用教程git使用教程git使用教程git使用教程git使用教程git使用教程git使用教程git使用教程git使用教程git使用教程git使用教程git使用教程git使用教程git使用教程git使用教程git使用教程...

    Git使用简介.pptx

    Git 使用简介 Git 是一个版本控制系统,允许用户追踪文件的变化历史,并且能够在不同的开发分支之间进行切换和合并。本文档将对 Git 的基本概念和使用方法进行介绍,并对 Git 的分支模型进行详细的解释。 Git 的...

    git 使用详细手册

    解决冲突是Git使用中的常见问题。当多个用户修改同一部分代码时,Git无法自动合并,会提示冲突。冲突的文件会带有诸如`, `=======`, `&gt;&gt;&gt;&gt;&gt;&gt;&gt;`的标记,需要手动编辑来解决冲突,然后提交更改。 此外,`git log`用于...

    git使用教程详细介绍

    Git 使用教程详细介绍 本资源是 Git 使用教程的详细介绍,涵盖了 Git 的基础知识、分支管理、服务器搭建、分布式 Git、Git 工具、自定义 Git 等多方面的内容。通过本教程,读者将了解 Git 的使用方法、版本控制的...

    Git使用手册.pdf

    Git的使用涉及多个步骤,从安装到日常操作,每个环节都有其特定的命令和流程。 首先,安装Git非常简单,可以从Git官方网站(https://git-scm.com/downloads)下载对应操作系统的版本,并按照默认设置进行安装。安装...

    Git 使用教程详解.docx

    Git 使用教程详解.docx Git 使用教程详解.docx Git 使用教程详解.docx Git 使用教程详解.docx Git 使用教程详解.docx Git 使用教程详解.docx Git 使用教程详解.docx Git 使用教程详解.docx Git 使用教程详解.docx ...

    Git使用介绍及高级技巧

    Git使用介绍及高级技巧 Git Magic.pdf

    git使用视频教程.txt

    git使用视频教程,带你一步步学会git的使用,安装、提交代码、解决冲突等等!

    git使用流程

    在本文中,我们将深入探讨“git使用流程”,包括创建代码仓库、添加文件、解决冲突以及克隆远程仓库。 一、创建代码仓库并上传本地代码 要将本地工程上传到Git仓库,首先需要初始化本地目录为Git仓库: ```bash ...

    git使用总结

    ### Git使用总结 #### 版本管理工具:Git **Git**是一款分布式版本控制系统,用于追踪计算机文件的更改,并协调由多人共同开发的项目。它最初由Linus Torvalds于2005年创建,旨在支持Linux内核的开发。与传统的...

    超级详细的GIT使用教程总结

    git使用说明超级详细的总结分类,使用mindManager完成资源分类

    git使用规范

    ### Git使用规范详解 在软件开发领域,Git作为版本控制系统的重要性不言而喻。它不仅提供了强大的代码管理功能,还能促进团队协作,提高开发效率。本文将深入解析Git的使用规范,涵盖工作流程、基本操作命令及其...

    Git使用.docx

    Git 使用指南 Git 是什么? Git 是目前世界上最先进的分布式版本控制系统。它的工作原理是 Workspace(工作区)、Index / Stage(暂存区)、Repository(仓库区或本地仓库)和 Remote(远程仓库)。 与 SVN 的...

    Git使用教程pdf

    此资源是Git官网的官方学习手册、指南,且是中文版,非常详细和明确,借此手册可以对Git从入门到深入进行系统的学习,墙裂推荐!Git的代码托管功能远强于svn,可以说是开发必备技能之一。官网下载很慢,所以此处提供...

    git使用简介ppt

    ### Git使用简介及关键知识点 #### 一、Git介绍及其特点 **Git** 是一个开源的分布式版本控制系统,被广泛应用于软件开发过程中,用于高效地管理和跟踪计算机文件的各种变动。Git 最初由 Linus Torvalds 开发,...

    git使用教程.pdf

    在学习Git使用的过程中,首先需要了解如何安装Git。大多数现代操作系统都支持通过包管理器安装Git,例如在Ubuntu上可以使用`apt-get install git`命令,在macOS上可以使用Homebrew,而在Windows上则可以使用Git for ...

    Git使用官方文档

    根据提供的信息,我们可以了解到这是一本关于Git使用的官方文档——《ProGit》,下面将对文档中的几个关键章节进行概述,并提取其中的重要知识点。 ### 一、前言 #### Preface by Scott Chacon 该部分由Scott ...

    git 使用简易指南

    Git是目前广泛使用的版本控制系统,为程序员提供了方便的代码版本管理功能。本指南将介绍Git的基本使用方法,帮助读者快速掌握Git的...以上便是git使用的简易指南,希望能帮助您快速上手Git,轻松进行代码版本的管理。

    pro_git_中文版本(Git使用教程)

    "Pro Git中文版本"是一本深入介绍Git的书籍,适合新手和有经验的开发者学习,提供了详尽的Git使用教程。以下是这本书可能涵盖的一些核心知识点: 1. **Git基础**:首先,你需要了解Git的基本概念,如工作区、暂存区...

    Git使用详细教程.docx

    版本管理工具Git的入门教程,较为详细,适合初学者阅读

Global site tag (gtag.js) - Google Analytics