git常用命令,助你快速入门
git是程序员中最常用的版本控制工具,学会git的基本使用是十分重要,特别是在公司里面的协同开发,废话不多说,下面贴出常用的命令。
1.基本配置
- # 既然git是多人协同的工具,别人要看到你提交代码的同时当然也得知道你是谁。
- # 那么第一步的配置当然是报上你的名字以及你的联系方式邮箱,可以通过以下的方式去进行配置。
- git config --global user.name "Your Name"
- git config --global user.email "email@example.com"
- # 如果要涉及推送到远程仓库的推送,你需要把你的ssh公钥挂到所在的远程服务器上。
- # 不然没有权限push代码,公钥的生成可以使用以下命令,然后一直按enter就好了,最后把公钥放到你的服务器上面。
- ssh-keygen -t rsa -C "email@example.com"
2.工作区
工作区就是我们平常代码存放的所在的目录,如何在代码上的修改,都会首先在工作区看到。
- 1.创建版本库(init)
- # 直接在你需要代码管理的目录新建git版本库
- git init
- 2.克隆远程项目(clone)
- # 然而事实如果在实际工作中,我们并不会经常创建版本库项目,而是拉取别人的项目进行协同开发。
- # 后面的参数为项目的ssh链接
- git clone "coder@example.git"
- 3.查看提交情况(status)
- # 想知道当前提交了文件没有?或者提交了哪些文件,或是否是最新分支
- git status
- 4.撤销工作区文件的修改(checkout)
- # 感觉自己搞砸了代码文件,想还原全部修改的文件(不能撤销新增文件)
- git checkout .
- # 其实checkout的作用远不止如此,更多是签出(移动到)到其他分支或者其他提交节点,后面还会有介绍
- 5.清除新增的文件(clean)
- # 和上面的命令可以做到完全撤销全部修改
- git clean -df
3.缓冲区
缓冲区的作用类似于商场的购物车,我们的代码文件就像商场的商品,我们只会放入我们想要的商品(想提交的代码文件)到购物车(缓冲区),期间我们可能还会对购物车里的商品进行筛选,或者新增商品,最后再把全部购物车里面的商品一次性地拿去结账(全部缓冲区文件提交到版本库)。
- 1.提交文件到缓冲区(add)
- # 提交一个文件
- git add filename
- # 提交全部文件
- git add --all
- 2.撤销缓冲区的修改(reset)
- # 不小心把不想提交的文件add到缓冲区
- # 可以使用下面的命令还原缓冲区
- git reset HEAD
- 3.对比工作区的文件和缓冲区文件(diff)
git diff <文件名>
4.版本库
版本库会记录git提交的历史记录,其重要作用不容置疑!我们可以通过版本库查看历史提交的信息(包括提交人,提交日期,提交的文件的内容),回滚代码,比对不同版本库的文件的不同。
- 1.把缓冲区的修改提交到版本库(commit)
- # 养成良好的代码习惯,后面信息提示最好还是要写上的
- git commit -m "提交的信息提示"
- 2.查看版本库提交记录(log)
- # 你可能想查看最近的全部版本库更新情况
- git log
- # 或者你只想查看某个分支的提交记录
- git log BranchName
- # 某个文件被修改了,想查看该文件的修改历史或文件夹下的文件修改
- git log filename
- git log dir
- # 查看的日志可能会很多,你可以按q退出日志的查看
- 3.版本回滚(checkout)
- # 可能你觉得当前这个版本有点问题,想回到以前的版本
- # 通过上面的git log可以查看历史提交版本库的哈希码,也就是该版本库的唯一标示
- git checkout <哈希码>
5.分支管理
分支是git里面很重要的一个概念,在协同开发中,往往包含很多个分支,每个开发中的不同的功能的代码可以提交到不同的分支上,这样各个功能之间的开发互不影响,整个系统开发完成之后再去进行分支之间的合并,这样就可以拥有全部分支的功能。
- 1.创建新的分支(branch)
- # 注意新的分支在刚刚创建出来的时候代码内容和原来所在的分支是一样的
- # 创建新的分支
- git branch <分支名>
- # 创建新的分支并转到该分支(更常用)
- checkout -b <分支名>
- 2.列出所有分支
- git branch
- 3.切换分支(checkout)
- git checkout <分支名>
- 4.删除分支
- # 如果分支已经被合并了或者没有测试的价值,可以考虑删除该分支(仅仅少点分支看着顺眼)
- git branch -D <分支名>
- 5.合并分支(merge)
- # 分支最重要的作用!
- # 这个命令是当前分支合并参数里的分支(合并之后当前分支还是原来的分支,例当前是branch1,合并branch2之后变成还是处于branch1)
- # 合并最麻烦的事情就是可能会产生冲突,具体解决冲突的方法可以参考百度,这里不累赘。
- git merge <被合并的分支>
6.远程版本库
远程仓库的可以让你的代码同步到远程服务器,达到备份效果,更重要的是让更多人在网上看到你的代码,从而拉取下来进行协同开发。
- 1.关联远程仓库(remote)
- # 如果你在本地新建版本库,然后又想推到远程主机就需要进行关联
- # 如果是clone下载下来的项目则不需要进行关联
- git remote add <仓库名> <远程主机地址>
- 2.拉取远程版本库(fetch)
- # 一段时间后,你的小伙伴可能已经更新了
- # 这时候你需要定期拉取一下远程版本库去去查看别人的提交情况
- # 默认拉取全部分支
- # 注意一旦你的版本库
- # 注意的是拉取不会更新你的代码,更新的代码是本地的origin/branch(版本库)
- git fetch
- # 你也可以指定某个远程主机的某个分支
- git fetch <主机> <分支名>
- 3.更新本地版本库(pull)
- # 更新远程版本库代码到本地
- # 默认更新当前关联主机的当前分支的代码
- git pull
- # 指定对应的主机和对应的分支
- git pull <主机名> <分支名>
- # 其实更严谨做法是先拉取下来,然后查看提交的信息和文件再考虑合并,而不是一下子就更新。
- # 或者先提交自己分支的代码再合并,不然拉取别人代码很可能出坑了,这时候你还可以还原代码。
- 4.代码推送到远程服务器(push)
- # 把本地代码推送到远程服务器,如果当前版本落后于远程分支,
- # 那么会提示你先合并代码之后再提交
- # 默认推送本地分支到默认的主机
- # 如果本地分支在远程仓库不存在,那么远程仓库会新建一个对应的分支
- git push
- # 推送本地分支到远程仓库的其他分支
- git push <主机名> <本地分支名>:<远程分支>
git常用命令,助你快速入门的更多相关文章
- Git 常用命令 更新与提交
整理了一下Git 常用命令,这个版本还是比较好用的,最后附上个人终结版,帮助你快速上手. 取得Git仓库 初始化一个版本仓库 git init Clone远程版本库 git clone yourgit ...
- Git常用命令清单笔记
git github 小弟调调 2015年01月12日发布 赞 | 6收藏 | 45 5k 次浏览 这里是我的笔记,记录一些git常用和一些记不住的命令,这个笔记原本是基于 颜海镜的文章增加 ...
- Git常用命令和Git团队使用规范指南
转自:https://wsgzao.github.io/post/git/ 前言 在2005年的某一天,Linux之父Linus Torvalds 发布了他的又一个里程碑作品——Git.它的出现改变了 ...
- - Git常用命令 基础 总结 MD
目录 目录 Git常用命令 帮助 help 常用操作 初始化 clone init 提交 push 暂存 更新 撤销修改 分支 branch 查看分支 创建分支 切换分支 checkout 删除分支 ...
- git 常用命令使用,git bash通用命令
git 常用命令 1.强制推送(慎用,除非你认为其他冲突等可以丢弃 或者不是很重要) git push -- force 2.创建文件等小命令 touch a // 创建一个a文件 >> ...
- Ubuntu常用命令及git常用命令
1. CMakeLists.txt中指定OpenCV路径 set(OPENCV_DIR /***/***/opencv-2.4.9) 2. cmake工程编译安装 mkdir build cd bui ...
- git常用命令(持续更新中)
git常用命令(持续更新中) 本地仓库操作git int 初始化本地仓库git add . ...
- Git 常用命令详解
Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:linux kernel),管理私人的文档和源代码也有很多优势(如:wsi-lgame-pro) Git 的更多介绍 ...
- Git 常用命令大全
Git常用操作命令: 1) 远程仓库相关命令 检出仓库:$ git clone git://github.com/jquery/jquery.git 查看远程仓库:$ git remote -v 添加 ...
- Git常用命令总结
Git常用命令总结 git init 在本地新建一个repo,进入一个项目目录,执行git init,会初始化一个repo,并在当前文件夹下创建一个.git文件夹. git clone ...
随机推荐
- nginx源码分析——configure脚本
源码:nginx 1.13.0-release 一.前言 在分析源码时,经常可以看到类似 #if (NGX_PCRE) .... #endif 这样的代码段,这样的设计可以在不改动源码的 ...
- 微信小程序框架
框架 小程序开发框架的目标是通过尽可能简单.高效的方式让开发者可以在微信中开发具有原生 APP 体验的服务. 框架提供了自己的视图层描述语言 WXML 和 WXSS,以及基于 JavaScript 的 ...
- 工厂模式(Factory)和抽象工厂模式(Abstract Factory)
一.工厂模式(Factory):通过让子类决定该创建的对象是什么,来达到将对象创建的过程封装的目的,工厂方法让类的实例化推迟到子类 (1)涉及角色:抽象产品,具体产品,抽象创建者,具体创建者. ...
- 抓包工具 Charles 使用心得
前言 虽然实习工作还没有着落,但学习还是要继续的嘛,今天就来学习使用下 Mac 下截取网络封包的工具:Charles. 我想,如果你是个善于利用搜索引擎的人,那么在 Google 中输入「Charle ...
- 深度解析MySQL启动时报“The server quit without updating PID file”错误的原因
很多童鞋在启动mysql的时候,碰到过这个错误, 首先,澄清一点,出现这个错误的前提是:通过服务脚本来启动mysql.通过mysqld_safe或mysqld启动mysql实例并不会报这个错误. 那么 ...
- 【JAVAWEB学习笔记】19_事务
事务 学习目标 案例-完成转账 一.事务概述 1.什么是事务 一件事情有n个组成单元 要不这n个组成单元同时成功 要不n个单元就同时失败 就是将n个组成单元放到一个事务中 2.mysql的事务 默认的 ...
- Day5模块-random模块
random:随机数 >>> import random>>> print(random.random()) #生成随机小数0.6906362176182085 & ...
- cocoapods卸载重装 解决clone,install,search很慢的问题
电脑上面的cocoapods clone,pod install search的时候非常非常的慢,尝试了很多方法都无法解决,最后只能尝试着重装看看能不能解决问题 卸载 sudo gem uninsta ...
- Linux下Samba服务器的安装和配置
第一步:sudo apt-get install samba smbclient 安装samba服务器. 第二步:打开/etc/samba/smb.conf文件,在末尾添加下面的字段: [用户名] c ...
- Java 多线程详解(四)------生产者和消费者
Java 多线程详解(一)------概念的引入:http://www.cnblogs.com/ysocean/p/6882988.html Java 多线程详解(二)------如何创建进程和线程: ...