git 基本使用
简单几步操作让你在终端下用git实现文件的上传。
一、克隆项目
在工作中,常见的情景都是远程库已经建好了,需要大家把代码拉下来,共同协作开发。本文所有操作均在终端下进行。
//克隆一个本地库
git clone 你的远程仓库地址
二、本地库的操作
//添加修改
1、git add 修改的文件名
//提交修改内容
2、git commit -m "修改备注"
三、把修改的内容提交到远程库
//第一次推送,加上-u参数,以后推送可省略
git push -u origin master
就这简单几步,就能实现你的代码上传到远程仓库啦。如果你还有其他更多需求,可以继续往下看。
四、其他经常用到的操作
1、基本操作
//添加远程仓库
git remote add origin 远程仓库地址
//用Xcode打开文件
open -a Xcode 文件名
//随时掌握工作区的状态
git status
//查看文件的修改内容
git diff 文件名
2、版本管理
//版本回退到上一个版本,HEAD表示最新版本
git reset --hard HEAD^
//版本回退到上上一个版本
git reset --hard HEAD^^
//查看提交历史,可以看到不同版本的commit_id
git log //出来的信息较全较多,下面的命令出来的简略点
git log --pretty=oneline
//查看命令历史,以便确定回到未来的哪个版本
git reflog
//版本回退到指定版本,commit_id
git reset --hard commit_id
3、修改和删除操作
//可以丢弃工作区的修改,-- 很重要,不能少,否则会变成“切换到另一个分支”
git checkout -- 文件名
//把暂存区的修改撤销掉,重新放回工作区
git reset HEAD 文件名
//删除文件
git rm 文件名
4、分支管理
git 推荐使用分支完成某个任务,合并后再删掉分支。这样过程更安全
1)创建并切换到分支,-b 表示创建并切换
git checkout -b 分支名字
等于两条命令: git branch 分支名字 //创建分支
git checkout 分支名字 //切换到分支
2)列出所有分支,当前分支前面会标一个*号
git branch
3)在分支上进行修改等操作
git add 文件名
git commit -m "修改备注"
4)分支工作完成,切换回master分支,把分支工作成果合并到master分支上,然后删除分支
git checkout master
git merge 分支名字
git branch -d 分支名字
合并分支时,git会优先用Fast forward模式,这种模式下,删除分支后,会丢掉分支信息。
强制禁用Fast forward模式,git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息
//--no-ff参数,表示禁用Fast forward
git merge --no-ff -m "merge with no-ff" 分支名字
5)发生冲突的话需要手动进行修改,在提交合并
//可以看到分支合并图
git log --graph
在实际开发中,我们应该按照几个基本原则进行分支管理:
1、master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活
2、那在哪干活呢?干活都在自己建的分支上
3、你和你的小伙伴们每个人都有自己的分支,时不时地往分支上合并就可以了
git 基本使用的更多相关文章
- Git 子模块 - submodule
有种情况我们经常会遇到:某个工作中的项目需要包含并使用另一个项目. 也许是第三方库,或者你 独立开发的,用于多个父项目的库. 现在问题来了:你想要把它们当做两个独立的项目,同时又想在 一个项目中使用另 ...
- Git 在团队中的最佳实践--如何正确使用Git Flow
我们已经从SVN 切换到Git很多年了,现在几乎所有的项目都在使用Github管理, 本篇文章讲一下为什么使用Git, 以及如何在团队中正确使用. Git的优点 Git的优点很多,但是这里只列出我认为 ...
- Git与Repo入门
版本控制 版本控制是什么已不用在说了,就是记录我们对文件.目录或工程等的修改历史,方便查看更改历史,备份以便恢复以前的版本,多人协作... 一.原始版本控制 最原始的版本控制是纯手工的版本控制:修改文 ...
- Git Bash的一些命令和配置
查看git版本号: git --version 如果是第一次使用Git,你需要设置署名和邮箱: $ git config --global user.name "用户名" $ gi ...
- 在Ubuntu 16.10 安装 git 并上传代码至 git.oschina.net
1. 注册一个账号和创建项目 先在git.oschina.net上注册一个账号和新建一个project ,如project name 是"myTest". 2.安装git sudo ...
- 史上最详细git教程
题外话 虽然这个标题很惊悚,不过还是把你骗进来了,哈哈-各位看官不要着急,耐心往下看 Git是什么 Git是目前世界上最先进的分布式版本控制系统. SVN与Git的最主要的区别 SVN是集中式版本控制 ...
- [版本控制之道] Git 常用的命令总结(欢迎收藏备用)
坚持每天学习,坚持每天复习,技术永远学不完,自己永远要前进 总结日常开发生产中常用的Git版本控制命令 ------------------------------main-------------- ...
- 【解决方案】Myeclipse 10 安装 GIT 插件 集成 步骤 图解
工程开发中,往往要使用到集成GIT ,那么下面说说插件安装步骤 PS:以Myeclipse 10 为例,讲解集成安装步骤. ----------------------main------------ ...
- git 命令
切换仓库地址: git remote set-url origin xxx.git切换分支:git checkout name撤销修改:git checkout -- file删除文件:git rm ...
- git亲测命令
一.Git新建本地分支与远程分支关联问题 git checkout -b branch_name origin/branch_name 或者 git branch --set-upstream bra ...
随机推荐
- CSS3实现自定义Checkbox和Radiobox
我们知道浏览器自带的Checkbox复选框不怎么美观(这或许是我们看习惯了的缘故),而且复选框在不同的浏览器上显示的样式又有很大的差异,由于目前越来越多的人开始接受支持CSS3的现代浏览器,所以今天就 ...
- Flex+Struts2+JSON实现Flex和后台的HTTP Service请求
http://www.fengfly.com/plus/view-191093-1.html Flex+Struts2+JSON的后台代码我在这就不多说了.不懂得请看我写的上一篇文章<Strut ...
- 林子雨老师团队《Architecture of a Database System》 中文版
http://dblab.xmu.edu.cn/post/architecture-of-a-database-system/
- IPC——命名管道
Linux进程间通信——使用命名管道 转载:http://blog.csdn.net/ljianhui/article/details/10202699 在前一篇文章——Linux进程间通信——使用匿 ...
- 40多个关于人脸检测/识别的API、库和软件
英文原文:List of 40+ Face Detection / Recognition APIs, libraries, and software 译者:@吕抒真 译文:链接 自从谷歌眼镜被推出以 ...
- vxworks 实时操作系统
VxWorks 是美国 Wind River System 公司( 以下简称风河公司 ,即 WRS 公司)推出的一个实时操作系统.Tornado 是WRS 公司推出的一套实时操作系统开发环境,类似Mi ...
- 基于EasyUI实现windows桌面
之前为大家介绍了 基于jquery tool实现的windows桌面效果,今天给大家带来一款基于EasyUI实现windows桌面.这款桌面适用浏览器:360.FireFox.Chrome.Safar ...
- CSS 之 控制图片与文字对齐
文字旁边搭配图片时,发现图片比文字靠上,原来默认的情况是图片顶对齐而文字底对齐,通过设置css属性可以使得图片与文字对齐. 设置各对象的vertical-align属性,属性说明: baseline- ...
- 日本电商Rakuten:最凶猛的国际扩张者
这是普及社(puji-she)第五篇关于电商开放平台的文章,今天关注日本的Rakuten,它是一家综合性的企业,核心业务包括电子商务.旅游.信用 及支付.金融证券.新闻门户等.本文关注Rakuten的 ...
- [Java] log4j异常输出到日志
当程序运行异常时,e.printStackTrace()会打印出异常.但是很多时候我们希望将这些异常输出到日志中,以便日后可以随时查看到,可以通过这些异常快速的找到程序发生异常的代码. 那么有办法可以 ...