git从入门&面试

一.git简介


git是目前最先进和流行的分布式版本控制系统,作为一个程序员来说学习git是“充分且必要”。
几个重要的概念:
1.工作区:使用git init命令生成一个.git文件,拥有.git文件的目录为工作区
2.暂存区:所有变动的文件,Git 都记录在一个区域,叫做"暂存区";
3.分支(branch)就是指向某个快照的指针,分支名就是指针名。比如,master 分支就是有一个叫做 master 指针,它指向的快照就是 master 分支的当前快照。作用,多人开发不会相互干扰

二.git的常用命令


1.git中的基础命令
    ①git init  :把当前所在目录变成Git可以管理的仓库(该目录成为工作区)
    ②git add 文件名:将该文件添加到暂存区
    ③git commit -m "说明":将暂存区的文件提交给单签的分支(创建Git版本库时,Git自动为我们创建了唯一一个master分支)
    ④git status:查看工作区和暂存区的状态

2.git中的版本更改命令
HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id。穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。
要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。

3.提交远程仓库
①.将本定仓库he远程仓库关联起来
    git remote add origin git@github.com:coldBreeze/learngit.git
②将本地仓库内容推送给远程仓库
     git push -u origin master(远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令【git push origin master】。)

4.从远程仓库克隆
①通过地址将远程仓库clone到本地
    git clone git@github.com:coldBreeze/gitskills.git
②Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快。

三.git的分枝管理


git中head指针指向当前分支,
git checkout -b dev:创建dev分支,并将dev分支设置为当前分支(git checkout命令加上-b参数表示创建并切换,等价于git branch dev     git checkout dev)
git branch:查看当前分支
git checkout master:回到原来的分支
git merge dev:将dev分支合并到当前分支
git branch -d dev:将dev分支删掉

四.总结


1.理解git的工作区和暂存区
2.git和svn的区别
git的优点
  1、适合分布式开发,强调个体。
 2、公共服务器压力和数据量都不会太大。
 3、速度快、灵活。
4、任意两个开发者之间可以很容易的解决冲突。
5、离线工作。 
svn(集中式的版本控制工具)的优点
1、 管理方便,逻辑明确,符合一般人思维习惯。
2、 易于管理,集中式服务器更能保证安全性。
3、 代码一致性非常高。
4、 适合开发人数不多的项目开发。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Git 命令行学习笔记 Git 基础 基本原理 客户端并不是只提取最新版本的文件快照,而是把代码仓库完整的镜像下来...
    sunnyghx阅读 9,379评论 0 11
  • Git常用语法 [TOC] Git简介 描述 ​ Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,...
    君惜丶阅读 9,113评论 0 13
  • 1. 安装 Github 查看是否安装git: $ git config --global user.name "...
    Albert_Sun阅读 14,650评论 9 163
  • 写这篇文章的主要是因为在实际应用的时候遇到了很多棘手的问题(文章最后部分,交流一下遇到的问题),在这里分享出来让人...
    橘座大人阅读 5,136评论 0 0
  • 问:一部小说,无论长短,创意重要还是文字重要? 老猫答:我有一个不成熟的小见解,创意很难得,文字需修炼,虽然创意为...
    老猫枕咸鱼阅读 1,748评论 8 5