`

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使用简介.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使用详细步骤

    Git 使用详细步骤 Git 是目前世界上最先进的分布式版本控制系统。与集中式版本控制系统 SVN 相比,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使用教程

    ### git使用教程知识点详解 #### 一、Git基础概念与工作流程 **1.1 文件的三种状态** 在Git管理下的文件主要有三种状态: - **已修改(Modified)**:表示文件已被更改,但尚未暂存或提交。 - **已暂存(Staged...

    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使用教程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,轻松进行代码版本的管理。

    Git使用教程思维导图【推荐】

    MindMaster的emmx源格式,Git使用命令汇总, 简单明了的思维导图 内容: 初始化 SSH连接(Window) 本地操作 分支操作 远程操作

Global site tag (gtag.js) - Google Analytics