git 使用及常用命令
git在团队项目中的使用流程
1.首先从一个git远程仓库中clone项目到本地
1
|
git clone 仓库地址 |
2.创建开发分支
一般我们写代码不会在master分支上面写,而是新建一个分支
1
|
git checkout -b test |
3.在test分支上面进行代码修改,比如完成某一项功能的开发
4.修改完之后提交代码到test分支
1
2
|
git add . git commit -m "your comment" <br> |
5.review代码(非必需)
在test分支上面开发完某一个功能之后,建议自己review一下修改的代码,通过与master分支进行对比
6.切换到master分支
1
|
git checkout master |
7.更新master分支
1
|
git pull (将本地master与服务器最新代码保持一致) |
8.重新切换到test分支
1
|
git checkout test |
9.将master代码更新到test分支
1
|
git merge master(将master分支合并到当前分支) |
10.处理完冲突之后将test分支提交到服务器
1
|
git push origin 分支名 |
11.提交Merge Request
提交Merge Request之后代码审核组同事会对提交的代码进行审核,没问题则会同意合并请求,将test分支的代码合并到master分支
git使用小技巧
stash的使用
有时候有这样一个场景:你在本地某一个分支上面开发某一个功能,这时候有一个紧急bug需要处理,而当前功能没有开发完你不想提交,不提交又无法切换分支。这时候就可以用stash命令来暂存当前代码。
1
2
|
git add . git stash |
这时候你修改的代码都会暂存到一个类似于栈的容器中,代码会恢复到最后一次提交的位置。
可以执行git stash list查看是否暂存栈的列表。
暂存代码之后就可以切换分支了,这时候你可以切换到别的分支修复bug,完了之后切换到该分支,执行下面命令进行恢复
1
|
git stash pop |
blame的使用
有时候我们在修改别人代码的时候,想要查看某个文件具体某一行是谁写的,可以使用blame(责备的意思,用来追究责任)
1
|
git blame 文件 |
执行上面命令之后,每一行都会显示具体是谁提交的,并且可以用翻页键进行翻页。
git命令别名设置
是否觉得敲git命令有点麻烦?肯定的,我也这么觉得。
我们可以在 ~/.gitconfig 文件里面进行别名设置,即加上下面这几行
1
2
3
4
5
6
|
[ alias ] st = status ci = commit br = branch co = checkout df = diff |
别名可以根据自己习惯设置。
常用git命令
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
git branch -r /-a 查看远程分支/本地和远程分支 git checkout 分支名 切换分支 git checkout -b 分支名 新建并切换到新建的分支 git branch -d 分支名 删除本地分支 git pull 更新本地分支到最新 git merge 分支名 合并某个分支到当前分支 git diff 查看当前没有add的内容修改 git diff --cached 查看已经add,没有commit的改动 git diff HEAD 是上面两个命令的合并 git log --oneline --number 显示log,每个log显示一行,显示number条 git add . 将修改的代码添加到暂存区 git push origin 分支名 将指定分支推送到服务器 git status 查看哪些修改已加入暂存区待提交,哪些修改未加入暂存区 git reset HEAD 文件名 取消某文件的暂存 |
最新文章
- ng-controller event data
- Git学习笔记——一个NB的分布式版本控制系统
- poj 1193 内存分配
- Proud Merchants(01背包)
- 14.9.4 COMPACT and REDUNDANT Row Formats
- 【Cocos2d-X开发笔记】第一期 Cocos2d-X的环境搭建
- 《奇思妙想:15位计算机天才及其重大发现》【PDF】下载
- 避免";Physics Space Locked";错误
- pycharm .sqlite文件拖动到Database里面为空
- Prisma GraphQL 服务器 生产者 ";https://www.prisma.io";
- 复习string和数组
- mysql数据的导入和导出
- Java Web之Servlet的三大作用域对象
- mysql----------利用navicat查看两个数据库之间的差异
- 八大排序算法——冒泡排序(动图演示 思路分析 实例代码java 复杂度分析)
- Software-Defined Networking:A Comprehensive Survey--Day4
- 算法笔记_229:有理数的循环节(Java)
- Vue项目实现excel导出
- Hibernate 延迟载入
- Linux mount Windows目录
热门文章
- UTV - URL Tag Validation
- Nginx从入门到放弃-第4章 深度学习篇
- Eclipse调试程序及项目的导入导出
- spring AOP详解〇
- linux 下java jar包的方法
- DS博客作业05——树
- 换肤功能的实现以及监听storage实现多个标签页一起换肤
- 【bzoj1925】[Sdoi2010]地精部落 组合数学+dp
- vue学习:解决Apycharm的 * is only available in ES6(use &#39;esversion: 6&#39;) 问题
- bzoj 2437[Noi2011]兔兔与蛋蛋 黑白染色二分图+博弈+匈牙利新姿势