当前位置: 首页 > news >正文

让git更高效--文末有福利

前言 GIT命令众多,在此仅是记录备忘而已。先上图片镇楼。哈哈,文末有福利,可免费下载git 指令速查表和和破解版beyond compare

工欲善其事,必先利其器

常用设置

# 设置提交代码时的用户信息、
$ git config [--global] user.name "[name]"
$ git config [--global] user.email "[email address]"
# 让Git显示颜色,突出新增文件,改变的文件等
$ git config --global color.ui true

复制代码

设置别名,让git更高效

$ git config --global alias.st status
$ git config --global alias.co checkout
$ git config --global alias.ci commit
$ git config --global alias.br branch

复制代码

设置difftool和mergetool让git飞起

//针对Git 2.3和更新
1.启动Beyond Compare,进入Beyond Compare菜单并运行安装命令行工具。
2.在终端中指定difftool
$ git config --global diff.tool bc3
3.在终端指定mergetool:
$ git config --global merge.tool bc3
$ git config --global mergetool.bc3.trustExitCode true
复制代码

使用

 $ git difftool file.ext
 $ git mergetool file.ext
复制代码

更多参考Beyond Compare设置 您或者会问设置过这么多怎么查看生效没,简单只需要执行命令 $ git config --list 或者在mac电脑 Command + Shift + . 在 Finder 中显示隐藏文件然后查看比如我的电脑查看 /Users/zhulk/.gitconfig

###接下来实战 首先检出或上传代码(在git未建立关联前)

//默认下载master分支
 $ git clone [url]
//检出指定远程分支
 $ git clone -b xxxx [url]
//第一次上传本地到git,第一次推送一定要加上 -u
$ git remote add origin [url]
$ git push -u origin master

复制代码

接下里就能和其他小伙伴一起玩耍啦,不过为了更好的玩耍,先介绍以下三个小弟: 1.stash 暂存区,当我们项目做一半后,boss突然来了其他需求或者bug,你不得不暂时把你未完的工作存起来,解决后然后恢复继续工作。常用指令如下:

//把未完工作暂存
$  git stash
//查看所有暂存
$ git stash list
//找回暂存,继续工作
$ git stash pop 或者  $ git stash apply
复制代码

2.branch 一般项目,需要构建不同的分支,一般分为集成分支、功能分支和修复分支,分别命名为 develop、feature 和 hotfix。常用命令:

//查看本地所有分支,有*号代表当前分支
$ git branch
//创建不存在的dev分支并切换到dev:
$ git checkout -b dev
//检出已经存在的master分支
$ git checkout  master
//合并dev分支到master分支
$ git merge dev
//删除dev分支
$ git branch -d dev
复制代码

3.一次完整提交流程,好了接下来和小伙伴玩耍一次,来回拉取和提交代码

// 添加指定文件
$ git add [文件名]
// 添加所有文件
$ git add .
 //提交
$ git commit -m "注释"
//修改上次的提交注释
$ git commit --amend
//尝试推送到服务器
$ git push
⚠️如果push失败并提示hint: Updates were rejected because the tip of your current branch is behind则执行

//拉取远程最新代码
$ git pull
⚠️git pull也失败了,提示There is no tracking information for the current branch.
说明本地和远程分支没关联,git跟踪不到,需根据提示设置关联 比如本地dev和origin/dev的链接:
//建立本地和远程分支的链接
$ git branch --set-upstream dev origin/dev
//在拉取远程代码
$ git pull
如果有冲突则需先解决冲突,然后再执行add-commit-push等命令
//再次推送到服务器
$ git push
复制代码

4.git指针 每次提交都会生成一个commit id,并指向当前,如果我们覆盖了别人的代码,或者提交错误了,可以通过修改提交id,让代码回退,或者指向某次提交。 常用命令:

//查看提交记录,显示commitid,Author等信息
$ git log
// 指向某个版本
$ git reset --hard [commId]

复制代码

一般稳定后,每次发布后都会打tag,方便以后找回,修改未知bug等。

//打tag
$ git tag v1.0
查看所有标签
$ git tag
//删除 标签
$ git tag -d v0.1
//推送标签到远程
$ git push origin v1.0

复制代码

写在最后,如果你不习惯命令行,当然你也可以使用可视化工具,比如 常用的

sourcetree tower

资源

下载git速查表 链接:https://pan.baidu.com/s/1F0DLQ29UJ27v_YSHt7Cyow 密码:1huw

Beyond Compare破解下载 链接:https://pan.baidu.com/s/1n8siuZpDZObmEsw0aE7S3Q 密码:80t8

如有疏漏,请指出不胜感激,如有问题可以通过如下方式联系我

简书 csdn 掘金 klvens跑码场

相关文章:

  • 力争大数据及关联产业规模2020年达300亿元
  • python 操作asdl
  • 美国国防部推出微型RFID芯片,助力电子零件防伪
  • 常见错误及细小知识点锦集
  • 物联网之父:中国将引领物联网技术实现飞跃
  • React v16.3 版本新生命周期函数浅析及升级方案
  • 连接无处不在——2016年中国国际信息通信展带你叩响未来世界的大门
  • 二、Java面向对象(8)_继承思想——继承关系
  • 行业领袖支招网络安全:如何走出“黑暗时代”?
  • 《程序设计与数据结构》第八周学习总结
  • 报告显示:95.9%的手机网民认为自己曾遇到过信息安全事件
  • 《黑客大曝光:移动应用安全揭秘及防护措施》一2.1 基础移动网络功能
  • JS基础之数据类型、对象、原型、原型链、继承
  • 大数据时代用技术力量缓解春运难题
  • 第0次作业 4班卢炳武
  • 3.7、@ResponseBody 和 @RestController
  • CoolViewPager:即刻刷新,自定义边缘效果颜色,双向自动循环,内置垂直切换效果,想要的都在这里...
  •  D - 粉碎叛乱F - 其他起义
  • fetch 从初识到应用
  • HTTP中GET与POST的区别 99%的错误认识
  • LintCode 31. partitionArray 数组划分
  • Netty+SpringBoot+FastDFS+Html5实现聊天App(六)
  • python大佬养成计划----difflib模块
  • React Transition Group -- Transition 组件
  • 阿里中间件开源组件:Sentinel 0.2.0正式发布
  • 回顾 Swift 多平台移植进度 #2
  • 机器学习中为什么要做归一化normalization
  • 基于Android乐音识别(2)
  • 力扣(LeetCode)22
  • 买一台 iPhone X,还是创建一家未来的独角兽?
  • 使用iElevator.js模拟segmentfault的文章标题导航
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 微信小程序开发问题汇总
  • 智能合约开发环境搭建及Hello World合约
  • SAP CRM里Lead通过工作流自动创建Opportunity的原理讲解 ...
  • ​直流电和交流电有什么区别为什么这个时候又要变成直流电呢?交流转换到直流(整流器)直流变交流(逆变器)​
  • #NOIP 2014# day.1 生活大爆炸版 石头剪刀布
  • (C#)if (this == null)?你在逗我,this 怎么可能为 null!用 IL 编译和反编译看穿一切
  • (C语言)逆序输出字符串
  • (ZT)北大教授朱青生给学生的一封信:大学,更是一个科学的保证
  • (超详细)2-YOLOV5改进-添加SimAM注意力机制
  • (读书笔记)Javascript高级程序设计---ECMAScript基础
  • (汇总)os模块以及shutil模块对文件的操作
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models
  • .apk文件,IIS不支持下载解决
  • .net Application的目录
  • .Net Framework 4.x 程序到底运行在哪个 CLR 版本之上
  • .Net IE10 _doPostBack 未定义
  • .NET/C# 避免调试器不小心提前计算本应延迟计算的值
  • .NET/C# 使窗口永不获得焦点
  • .Net的DataSet直接与SQL2005交互
  • .Net各种迷惑命名解释
  • .net实现客户区延伸至至非客户区
  • ?php echo $logosrc[0];?,如何在一行中显示logo和标题?