在项目开发中使用Git版本号控制工具以提高效率
安装Git(linux centos平台)
源代码方式安装
1.装依赖
$ yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
2.下源代码并编译安装
地址:
http://git-scm.com/download
编译安装:
$ tar -zxf git-1.7.2.2.tar.gz
$ cd git-1.7.2.2
$ make
$ sudo make install
二进制包安装
$ yum install git-core
使用Git
#建立自己的工作文件夹
sudo mkdir /var/www/site/mycitsm_zyz
cd /var/www/site/mycitsm_zyz
#从代码仓库clone代码
sudo Gitclone ssh://username@ip:port/path/to/example.git /path/to/workdir
#克隆代码到自己的工作文件夹后先设置用信息以便于识别更新来源
$ git config user.name "username"
$ git config user.email username@example.com
#忽略某些文件
在工作文件夹下创建并编辑.gitignore文件,写入想忽略的内容
例子:
$ cat .gitignore
*.pyc
*.pyo
test_*
*.bak
之后便能够在自己的工作文件夹中编辑并提交代码。
一般工作流程
#更新代码
$vim /path/to/file
#查看文件状态
$git status
#暂存更新
$git add /path/to/file
#本地提交更新
$git commit -m "说明信息"
或通过
$git commit -v 编写更具体的提交说明并将具体的更新内容记录在内。
#推送本地更新到远程仓库
$git push origin master(origin为假定的远程仓库名。master是默认分支)
#从远程仓库拉取新内容
$git pull origin
#获取帮助
$git help
#新建分支
$git branch branchname
#切换分支
$git checkout branchname
#上述两步可合并为一步
$git checkout -b branchname
#合并分支
先切回主分支$git checkout master
再合并分支到主分支$git merge branchname
#查看分支
$git branch
#仅查看未合并分支
$git branch --no-merged
#仅查看已合并分支
$git branch --merged
#删除分支(已合并)
$git branch -d branchname
#删除分支(不管是否已合并)
$git branch -D branchname
#查看未暂存文件的与改动前的差异
$git diff
#查看已暂存文件与上次提交时快照之间的差异
$git diff --cached
#移除文件
$git rm /path/to/file
#仅从跟踪清单删除不从工作文件夹删除
$git rm --cached /path/to/file
#移动文件
$ git mv file_from file_to
#查看提交历史
$ git log
#改动最后一次提交
$ git commit --amend
#取消已暂存文件
$ git reset HEAD /path/to/file
#取消对文件对的改动
$git checkout -- /path/to/file
#回退
$git reset--mixed HEAD~N
$git reset--soft HEAD~N
$git reset--hard HEAD~N
当中N表示近期的N次提交。这里也能够是某次提交后返回的版本号唯一标识(可通过$git log获取到)
--mixed保留修改,回退commit和index
--soft保留修改。回退commit。不回退index
--hard彻底回退到某个版本号
#查看当前远程库
$git remote -v
#从远程库拉取更新
$git fetch origin
#合并拉取的更新的分支到本地分支
$git merge origin/master
以上两步可合并为一步
$git pull origin
在项目开发中使用Git版本号控制工具以提高效率的更多相关文章
- 项目开发中的git简单使用
原文地址: https://www.zhuyilong.fun/tech/the-blog-git.html 示例远程仓库地址: https://github.com/zhu-longge/gitWo ...
- 团队项目开发中,常见的版本控制有svn,git
团队项目开发中,常见的版本控制有svn,git
- 开发中关于Git那些事
如果你想精通Git,直接到 Git官网 把这本ProGit掌握已足以Pro Git 此文主要介绍一切开发中常用的git命令和一些配置技巧(诸如git别名配置,log打印技巧,版本回退以及分支管理等). ...
- 炼金术(1): 识别项目开发中的ProtoType、Demo、MVP
软件开发是很分裂的,只有不断使用原则和规律,才能带来质量. 只要不是玩具性质的项目,项目应该可以大概划分为0-1,1-10,10-100,100-1000四个种重要阶段.其中,0-1是原型验证性的:1 ...
- fir.im Weekly - iOS开发中的Git流程
本期 fir.im Weekly 收集了微博上的热转资源,包含 Android.iOS 开发工具.源码等好用的轮子,还有一些 APP 设计的 Tips,希望对你有用. 精仿知乎日报 iOS 端 @我偏 ...
- 开发中关于Git那些事(续:Git变基)
其实上一篇写的内容仅仅是Git的冰山一角,如果你认为Git就是简简单单的几行命令,那只能说明你还没有真正了解Git这个强大的内容寻址文件系统.这篇文章,还是接着介绍一些实用但是很少有人知晓的一些命令, ...
- 项目开发中的一些注意事项以及技巧总结 基于Repository模式设计项目架构—你可以参考的项目架构设计 Asp.Net Core中使用RSA加密 EF Core中的多对多映射如何实现? asp.net core下的如何给网站做安全设置 获取服务端https证书 Js异常捕获
项目开发中的一些注意事项以及技巧总结 1.jquery采用ajax向后端请求时,MVC框架并不能返回View的数据,也就是一般我们使用View().PartialView()等,只能返回json以 ...
- Angular 项目开发中父子组件传参
在项目开发中经常会遇到 组件之间传参的问题.今天总结下在使用angular的项目中父子组件传参的问题: 1.父组件向子组件传参: 然后在父组件中 然后在父组件的html中 然后就可以在子组件中使用了 ...
- 《Maven在Java项目开发中的应用》论文笔记(十七)
标题:Maven在Java项目开发中的应用 一.基本信息 时间:2019 来源:山西农业大学 关键词:Maven:Java Web:仓库:开发人员:极限编程; 二.研究内容 1.Maven 基本原理概 ...
随机推荐
- FPGA编程技巧系列之输入输出偏移约束详解
1. 偏移约束的作用 偏移约束(Offset Constraint)用来定义一个外部时钟引脚(Pad)和数据输入输出引脚之间的时序关系,这种时序关系也被称为器件上的Pad-to-Setup或Clo ...
- 3星|《哈佛商业评论》201708:IT项目风险之大远超你想象
老牌管理学杂志.本期干货偏少,我评3星. 以下是本期一些信息的摘抄: 1:当我们调查被关闭餐馆周边的犯罪规律时,我们发现了与关闭药房同样的现象:被关闭餐馆周围财产犯罪和车内财物偷盗犯罪行为立即出现了上 ...
- Filesystem Hierarchy Standard (Unix, Linux etc)
http://www.pathname.com/fhs/ /boot -- Static files of the boot loader Purpose: contains everything r ...
- Jenkins系列之Jenkins的安装(一)
自动化测试的时候通常我们都会进行持续集成,下面是持续集成工具Jenkins的安装 Jenkins优点: 开源免费 跨平台,支持所有的平台 web形式的可视化的管理页面 安装配置超级简单 tips及时快 ...
- 并发编程学习笔记(9)----AQS的共享模式源码分析及CountDownLatch使用及原理
1. AQS共享模式 前面已经说过了AQS的原理及独享模式的源码分析,今天就来学习共享模式下的AQS的几个接口的源码. 首先还是从顶级接口acquireShared()方法入手: public fin ...
- C++_运算符重载 总结
什么是运算符的重载? 运算符与类结合,产生新的含义. 为什么要引入运算符重载? 作用:为了实现类的多态性(多态是指一个函数名有多种含义) 怎么实现运算符的重载? 方式:类的成员函数 或 友元函数(类外 ...
- vue启动
首先在终端terminal连上npm 镜像库 npm config set registry https://registry.npm.taobao.orgnpm installnpm run loc ...
- XGBoost参数中文翻译以及参数调优
XGBoost:参数解释:https://blog.csdn.net/zc02051126/article/details/46711047 机器学习系列(11)_Python中Gradient Bo ...
- 社交网络图中结点的“重要性”计算 (30 分) C++解法
社交网络图中结点的"重要性"计算 (30 分) 在社交网络中,个人或单位(结点)之间通过某些关系(边)联系起来.他们受到这些关系的影响,这种影响可以理解为网络中相互连接的结点之间蔓 ...
- extjs动态插入一列
StdDayWordQuery:function(btn,event){ var form=Ext.getCmp('queryFormSDW'); var userNameORuserCode = f ...