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中使用教程
相关推荐
Git 使用简介 Git 是一个版本控制系统,允许用户追踪文件的变化历史,并且能够在不同的开发分支之间进行切换和合并。本文档将对 Git 的基本概念和使用方法进行介绍,并对 Git 的分支模型进行详细的解释。 Git 的...
解决冲突是Git使用中的常见问题。当多个用户修改同一部分代码时,Git无法自动合并,会提示冲突。冲突的文件会带有诸如`, `=======`, `>>>>>>>`的标记,需要手动编辑来解决冲突,然后提交更改。 此外,`git log`用于...
Git 使用教程详细介绍 本资源是 Git 使用教程的详细介绍,涵盖了 Git 的基础知识、分支管理、服务器搭建、分布式 Git、Git 工具、自定义 Git 等多方面的内容。通过本教程,读者将了解 Git 的使用方法、版本控制的...
Git 使用详细步骤 Git 是目前世界上最先进的分布式版本控制系统。与集中式版本控制系统 SVN 相比,Git 的主要特点是分布式版本控制系统,每个人的电脑都是一个完整的版本库,这样,工作的时候就不需要联网了,因为...
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使用介绍及高级技巧 Git Magic.pdf
### git使用教程知识点详解 #### 一、Git基础概念与工作流程 **1.1 文件的三种状态** 在Git管理下的文件主要有三种状态: - **已修改(Modified)**:表示文件已被更改,但尚未暂存或提交。 - **已暂存(Staged...
git使用视频教程,带你一步步学会git的使用,安装、提交代码、解决冲突等等!
在本文中,我们将深入探讨“git使用流程”,包括创建代码仓库、添加文件、解决冲突以及克隆远程仓库。 一、创建代码仓库并上传本地代码 要将本地工程上传到Git仓库,首先需要初始化本地目录为Git仓库: ```bash ...
### Git使用总结 #### 版本管理工具:Git **Git**是一款分布式版本控制系统,用于追踪计算机文件的更改,并协调由多人共同开发的项目。它最初由Linus Torvalds于2005年创建,旨在支持Linux内核的开发。与传统的...
git使用说明超级详细的总结分类,使用mindManager完成资源分类
### Git使用规范详解 在软件开发领域,Git作为版本控制系统的重要性不言而喻。它不仅提供了强大的代码管理功能,还能促进团队协作,提高开发效率。本文将深入解析Git的使用规范,涵盖工作流程、基本操作命令及其...
此资源是Git官网的官方学习手册、指南,且是中文版,非常详细和明确,借此手册可以对Git从入门到深入进行系统的学习,墙裂推荐!Git的代码托管功能远强于svn,可以说是开发必备技能之一。官网下载很慢,所以此处提供...
### Git使用简介及关键知识点 #### 一、Git介绍及其特点 **Git** 是一个开源的分布式版本控制系统,被广泛应用于软件开发过程中,用于高效地管理和跟踪计算机文件的各种变动。Git 最初由 Linus Torvalds 开发,...
在学习Git使用的过程中,首先需要了解如何安装Git。大多数现代操作系统都支持通过包管理器安装Git,例如在Ubuntu上可以使用`apt-get install git`命令,在macOS上可以使用Homebrew,而在Windows上则可以使用Git for ...
根据提供的信息,我们可以了解到这是一本关于Git使用的官方文档——《ProGit》,下面将对文档中的几个关键章节进行概述,并提取其中的重要知识点。 ### 一、前言 #### Preface by Scott Chacon 该部分由Scott ...
Git是目前广泛使用的版本控制系统,为程序员提供了方便的代码版本管理功能。本指南将介绍Git的基本使用方法,帮助读者快速掌握Git的...以上便是git使用的简易指南,希望能帮助您快速上手Git,轻松进行代码版本的管理。
MindMaster的emmx源格式,Git使用命令汇总, 简单明了的思维导图 内容: 初始化 SSH连接(Window) 本地操作 分支操作 远程操作