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

git的使用:基础配置和命令行

前言

代码管理工具,任何开发都离不开的话题。

到了任何公司,第一件事肯定是配置个人的电脑。主要就是三点,配置对应的开发环境,配置各类开发工具和配置git等代码管理工具拉取代码。

这篇文章主要是git的配置和最常用(我指的是最常用)的命令行使用

git基础配置

git的安装

傻瓜式安装就可以

配置个人用户

#配置姓名
git config --global user.name "Your Name" 
#配置邮箱
git config --global user.email "your email adress"
#秘钥
ssh-keygen -t rsa -C "your_email@youremail.com" 

 这段话是专门说给新入职的朋友们,按道理说,你到了任何公司(小公司除外)都会得到你的个人OA账号邮箱或者公司为你提供的一些个人账号去使用使用。比如本人用过京东的京me,工银科技,长城汽车等等公司统一OA账号。

很多公司都有他们自己的代码管理仓库,有的需要你去配置一些独特的工具,来完成特别的代码提交审查

流程。

常规命令

仓库整体操作

初始化仓库

git init

查看版本库状态

git status

对比差异(工作区和暂存区)

git diff

对比差异(工作区与仓库)

git diff -cached

查看历记录

git log

版本回退(后面为版本的hash号,前七位即可)

git reset --hard 1234567

查看所有操作记录

git reflog

分支操作

创建分支

git branch [name]

查看所有分支

git branch

切换分支

git checkout [name]

合并分支

git merge [name]

删除分支

git branch -d [name]

创建并切换分支

git checkout -b [name]

提交拉取代码操作

本地配置远程仓库地址

git remote add origin GitHub - wjt162286793/webpack----vue: 使用webpack配置一个脚手架,对照文档,纯手打

 仓库克隆(拉取代码)

git clone https://github.com/wjt162286793/webpack----vue.git

 拉取代码(获取最新)

git pull

拉取全部

git fetch

合并分支

git merge [name]

衍合代码

git rebase

添加到暂存区

git add -A

提交到本地仓库

git commit -m "提交标题"

推送到远程分支

git push

git最基础的应知应会

有一些基础知识也是应知应会的,需要了解

常用分支名:

master --正式分支,生产代码(最核心的分支)

develop (简写dev) --开发环境分支

release --测试或者预发分支

如果自己要开发功能,最好使用master拉取新的分支,命名要符合规范,至少对于开发的功能要描述清楚,不要命名为什么aaa,bbb之类的,掉价

合并代码发生冲突:

记得合并代码的时候,如果发生冲突,一定要看仔细了,只要有代码不是自己的,一定要找到相关分支的开发者,不要随便就销了别人的代码,更不要完了就强推,有时候会引发严重的问题矛盾,切记。

有冲突,要谨慎处理。

提交代码的信息

这个你得看公司有没有对应的规范,如果没有,你自己也要有一些最基础的要求。

比如新功能:你就用new,处理bug你就用bug,补丁功能就用patch

如:

开发权限功能 ,分支名命名为role_mode

功能开发完毕,提交代码的commit标题:new--权限功能页面完成

修复问题,commit的标题为:bug--分页搜索问题修复

补丁一个描述信息:commit标题为:patch--增加描述字段xxx

结束语

git可以使用命令行,也可以使用开发工具的插件,如vscode中就有不少,也有vscode,idea本身的git集成。

本人习惯用gitExtensions这个工具,也有人喜欢用小熊猫之类的,都差不多,可视化的提交工具。能达成的效果都一样,就看个人爱好了。


http://www.kler.cn/a/161479.html

相关文章:

  • Elastic Observability 8.16:增强的 OpenTelemetry 支持、高级日志分析和简化的入门流程
  • C获取程序名称的方法
  • 封装el-menu
  • java导出pdf
  • Qt 实现文件监控程序
  • Unity3D学习FPS游戏(11)敌人AI巡逻(NavMesh)
  • 智能优化算法应用:基于社交网络算法无线传感器网络(WSN)覆盖优化 - 附代码
  • Linux篇:进程间通信
  • [linux进程控制]进程替换
  • class036 二叉树高频题目-上-不含树型dp【算法】
  • java设计模式学习之【组合模式】
  • hql面试题之字符串使用split分割,并选择其中的一部分字段的问题
  • /usr/bin/ld: cannot find -ltinfo 的解决方法
  • 第二十一章——网络通信
  • 使用Jython将Python代码转换为Java可执行文件
  • 手把手将Visual Studio Code变成Python开发神器
  • RabbitMQ 的七种消息传递形式
  • 结构体对齐和补齐
  • HarmonyOS开发(十):通知和提醒
  • 洛谷P1044 [NOIP2003 普及组] 栈 递归方法
  • JVM中 Minor GC 和 Full GC 的区别
  • React中的空标签与Fragment标签的区别
  • 【数据库设计和SQL基础语法】--表的创建与操作--插入、更新和删除数据
  • Nginx(配置SLL证书)
  • 重生奇迹mu武器镶嵌顺序
  • MySQL学习day05