范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

Git配置以及常见操作

  # 前言
  不知道是不是一种洁癖,我比较喜欢隔三差五的重装系统。每次重装系统带来的问题就是git的相关配置都得重新配置。于是写一篇文章来记录一下配置git 的全过程,以及在工作中经常使用的命令。本文中涉及到的操作均在arch-linux里面,其他系统操作大致相同。如果有喜欢踩坑的朋友也可以访问如下链接安装 [arch-wsl](https://github.com/yuk7/ArchWSL) 。 后续准备开一篇如何在windows下配置 wsl(windows sub linux) 的使用(maybe)
  另外本文不涉及`git`的原理的相关内容,关于这块的大家可以直接搜索相关文章,大把大把的文章会告诉你`git`是如何工作的## git的基础配置
  每一个工具使用前都需要根据个人使用习惯,进行工具的基础配置,这里列举了一些基础配置。在命令行一次输入如下命令,即可完成配置,配置文件创建在 ~/.giticonfig。# 配置用户名  git config --global user.name 你的英文名  # 配置邮箱  git config --global user.email 你的邮箱  # 配置git的默认行为,默认是Matching,此行为会push所有分支,simple只会push当前分支  git config --global push.default simple  # 解决提交文件名如果是中文名会出现乱码的问题  git config --global core.quotepath false  # 配置commit的时候以哪种编辑器打开填写 commit 信息,这里配置的是 vscode  git config --global core.editor "code --wait" ## 配置alias
  配置别名 (alias) 简单来说就是配置一个更简短的命令来代替git 命令。例如可以将 git status 命名为 gst,当键入gst 就代表git status。# 以下命令写入 .bashrc 文件。  # 使用 zsh 的 还需在 .zshrc 里面添加以下命令。  # 保存后 source 修改的文件  alias ga="git add"  alias gst="git status"  alias gc="git commit"  alias gp="git push"  alias gco="git checkout"## 配置远程仓库
  以下配置以 github 为例,其他仓库可查看对应的配置文档进行配置。配置远程仓库之前先检查系统 ~ 根目录下有没有生成 .ssh 目录文件。如果没有请使用命令进行创建。# linux 系统提示没有 ssh-keygen 命令的话  # 自行google 查看如何下载 openssh  # windows 在 git bash 里面运行即可  ssh-keygen -t ed25519 -C "your_email@example.com"  # 复制内容到SSH Keys 里面进行配置  cat ~/.ssh/id_ed25519.pub## 最最最基础的命令#### 1. git add
  将工作区的文件添加到暂存区# 添加所有的修改的内容 git add . # 添加指定的内容 git add file1 file2 #### 2. git rm
  有添加到暂存区的操作那必定有可反悔的命令。git rm 可以将添加到暂存区的返回到工作区git rm --cached 将内容返回到工作区
  git rm -f 则是将文件直接删除掉了
  想查看所有的 git rm 的使用命令: git rm --help# 返回工作区 git rm 1.txt --cached # 删除 git rm 1.txt -r#### 3. git status
  此命令用于查看当前状态。另外也会给出操作提示,总之经常 git status 是个不错的操作。(就像使用vim的时候经常按 jk 一样doge)git status#### 4. git commit
  将暂存区的内容提交到仓库,并且填写提交的说明# -m 后面直接接上提交信息 git commit -m "commit message" # -v 会打开默认的编辑器进行填写提交信息 git commit -v  # --amend 会覆盖上一次的提交(使用场景:一般在两次两次提交想合并成最后一个提交的信息) git commit -m  "commit message" --amend## git 常用操作命令
  上面讲到了 git 使用中最常见的命令,分别是 git status, git commit , git add,下面介绍一下在工作过程中其他常用的命令#### 1. git branch
  分支命令,包括分支的查看,删除,新增等操作git branch 查看分支git branch -d branch_name 删除分支git branch branch_name 添加分支git branch -m branch_new_name 修改当前分支名称# 查看分支可以查看本地的以及远程仓库的,查看远程仓库的使用 -r, 查看所有的使用 -a git branch -r  git branch -a  # 创建分支 git branch newBranch  # 创建并切换到该分支 git checkout -b newBranch # 修改当前分支名称,你需要先切换到当前分支,然后进行修改 git branch -m otherBranchName # 删除分支,删除分支可能会提示你当前分支的代码还没有merge,如果仍需要删除,使用 -D git branch -D newBranch #### 2. git merge
  有了多分支,那么随之而来的就会有分支合并,git merge 有三种模式:--no-ff 禁止快速合并,会产生一个新的提交squash 不会产生一个新的提交fast-forward 快速合并
  使用场景: 从 dev 分支切出分支 feature_1 ,当 feature_1 开发完成需要合并回 dev 分支的时候# 个人更喜欢使用`--no-ff` git checkout dev  git merge feature_1 --no-ff#### 3. git rebase
  rebase 英文的意思是 变基,重垒
  和 merge功能类似,都可以进行两个分支的内容合并,与 merge相比,rebase 会使得提交的信息更加整洁
  使用场景1 : 从 dev 分支切出分支 feature_1 开发新的功能,当需要从 feature_1 分支去获取 dev 分支更新的最新内容时,可以使用 rebasegit checkout feature_1 git rebase dev
  使用场景2:当需要整合多次提交成为一个提交的时候。比如在开发过程中可能提交了多次细小的提交,看起来不够直观,于是你可以把这些提交都合并成一个提交# 通过git log 查看想合并提交的Id # 使用 -i ,那么从目标Id到当前的提交就会合并成一个提交 git rebase 4e81571 -i 别问我这两者有啥子区别,如果硬要说区别,那么也可列举几点:
  1.merge会生成非线性分支树,rebase生成线性的分支树
  2.merge之后提交按照时间顺序,rebase(git rebase main) 使得 被rebase的分支的提交都会出现在当前分支的前面
  3.rebase 其实并没有进行合并操作,只是提取了当前分支的修改,将其复制在了目标分支的最新提交后面#### 4. git pull && git push && git remote
  这两个命令用于与远程仓库的交互。push提交代码到远程仓库,pull从远程仓库拉取代码。常见的操作如下:# 提交分支代码到远程仓库 git push origin branchName # 从远程分支拉取代码 git pull origin branchName # 查看远程仓库链接 git remote -v  # 删除远程仓库链接 git remote rm  originName # 添加远程仓库地址(可添加多个仓库地址) git remote add originName
  使用场景:
  leader 让你拉一个开源框架到公司的私有仓库里作为基础框架使用,并且能根据开源框架的版本迭代,做到私有仓库的框架版本迭代。
  使用的命令有 git clone git remote# 克隆开源仓库到本地 git clone git@github.com:vinoMamba/gitDemo.git # 添加私有仓库的关联 git remote add origin git@github.com:vinoMamba/after-delete.git
  执行上面的代码你会看到报错。报错内容很明显,因为名称重复了,你可以做两种操作:# 1. 删除原本的关联,添加新的关联 git remote rm origin  git remote add origin git@github.com:vinoMamba/after-delete.git # 2. 或者再添加一个新的关联,避免明明冲突 git remote add origin-vino git@github.com:vinoMamba/after-delete.git # 查看关联 git remote -v
  我一般的操作是第二种,这么做是方便当需要更新私有仓库的代码的时候,可以直接拉取代码进行合并。当然第一种操作也是可以的,后期升级的话需要再把开源仓库的关联添加上去,进去代码的拉去合并。# 添加开源仓库的关联 git remote add origin-remote git@github.com:vinoMamba/gitDemo.git # 从 远程仓库主分支拉取代码(注意 orgin-remote 是你添加开源仓库关联的名称) git pull origin-remote main #### 4. git fetch && git pull
  使用场景:
  当拉取代码出现代码冲突的时候,如何解决冲突并合并代码
  使用的命令有: git pull git fetch git merge git log
  说到 git pull 和 git fetch。在面试的时候我经常会问一下两者之间有什么区别,说实话如果不是为了准备面试,我也不清楚,后来通过查看相关文章和实践才了解。 在我的使用场景中,我一般都是git pull 直接拉取合并。然后再解决冲突。不同于 git pull ,git fetch 拉取的代码没有合并到本地代码中,这给了你查看远程代码和本地代码区别的机会,更加清楚明了。git fetch origin main
  git fetch 拉取代码之后,会返回仓库代码的最新状态。通过查看log 可以看到更新的内容# -p 很好理解,可以理解为指针 point  git log -p FETCH_HEAD git merge --no-ff FETCH_HEAD git status
  当出现冲突的时候。通过搜索==== 来定位冲突。等号上面的是本地代码。等号下面的时候拉取的代码,跟进实际情况进行处理即可。当然像 vs code jetbrains 这些现代化编辑器都有智能的提示,操作起来更简单。当冲突解决完毕之后,执行提交命令即可完成代码的合并。## 其他操作#### 1. git stash
  可以理解为通灵术,就是说把当前工作区的内容推送到一个栈里面,当做完支线任务的时候在把栈里面的内容放回工作区。
  涉及到的命令有:git stash 把当前工作区更改的内容推送到栈git stash list 查看栈git stash pop 弹出栈#### 2. git tag
  用于打版本号,这个一般在发布版本的时候会进行操作
  涉及的命令有:# 查看所有标签 git tag  # 创建标签 git tag tagName # 在指定的节点创建标签 git tag tagName 34e56b # 填写标签的详细信息 git tag  -a tagName -v "tag message" # 推送标签到远程 git push origin tagName
  以上是我在工作过程中使用到的 git 操作,后续如果我升华了有更深理解了,我再来更新此文章
  完。

索尼PS4全系主机被破解,PS5也危险IT之家12月14日消息,PlayStation4虽然是索尼的上一代主机,但仍有很多人对其感兴趣。现在有黑客发现了该主机新的漏洞,这个漏洞能够使得所有在9。0及以下固件版本的PS4浅析大厂元宇宙链游疯狂的塔防英雄CrazyDefenseHeroesCrazyDefenseHeroesCrazyDefenseHeroes既是PlaytoEarn又是PlayforFree游戏(免费游戏),只需一部智能手机(Android或iOS篮网爆大冷!哈登空砍三双,当家34分决胜,疯狂庆祝引杜兰特不满12月31日上午,NBA常规赛焦点大战,篮网主场迎战76人,东部迎来强强对决。杜兰特领衔出战,哈登继续出击。第一节,恩比德出手被帽,哈登反击不进,克拉克斯顿补篮命中。恩比德三分命中王者荣耀14号正式服更新马可皮肤白嫖方法鲁班有好消息王者荣耀正式服在12月14日上午9点更新,本次更新的主要内容有本周的更新内容有1碎片商店上新2英雄调整3马可六元皮肤潮玩牛仔17号上架!其中小卤蛋还有个加强好消息,一起随老叔看下吧暗黑官方推特黑暗赠礼即将到来三条线索暗示12月18日揭晓今天凌晨,暴雪暗黑破坏神官方推特发布了动态更新黑暗赠礼即将到来!北京时间12月18日凌晨2点公布(121710amPT)准备迎接地狱的赠礼吧!目前尚未公布详细信息,但从现有的三个线好消息!女排主攻小将公布恋情,又是姐弟恋,和男友一见钟情过了腊八就是年,转眼时间进入年关,各行各业也都开始一年的总结收尾工作,体坛也是如此。最近多个体育项目年度比赛结束,国内外都处于一个休赛期,所以球员们迎来了一段时间的休息期,大家纷纷广东队终于收到一个好消息,国际篮联雪中送炭,杜锋藏了一手广东队最近可真是麻烦不断,他们赛季第二次遭遇了两连败,根据杜锋指导所说,这是他们最近几年的最差战绩。然后就是球员受伤问题,前段时间小将张皓嘉赛季报销,张皓嘉对于广东队的意义很大,他章子怡曾疯狂追星科比,还曾与科比传出绯闻科比无疑是NBA历史上最伟大的球员之一,由于其飘逸的球风和坚韧不拔的打球风格,科比在世界各地都有巨大的粉丝群体。特别是他独创的曼巴精神也成功的吸引了大帮的年轻人争相模仿!由于NBA李诗沣隔离和连续比赛,各有各的难处新华社西班牙韦尔瓦12月12日电(刘旸谢宇智)中国羽毛球队00后小将李诗沣12日在2021年羽毛球世锦赛赢下首轮男单比赛后表示,与一些外国运动员持续比赛相比,很多中国选手经历较长时SP转型移动网游必须知道的运营知识(二)作者文舰运营数据解释二运营数据基础名词(一)基础数据名词1。展示数广告展示给用户的终端数(手机的IMEI号一个代表一个终端)2。点击数广告展示给用户后,用户感兴趣,点击此广告的终端如果你突然掉入海王星,将会发生什么?海王星(英语Neptune,天文符号)是太阳系八大行星之一,也是已知太阳系中离太阳最远的大行星,既然离太阳这么远,那整个海王星肯定是冰冷至极的。如果你掉入海王星,在你还没完全掉进去
15分钟核酸采样圈起步,核酸采样员抢手国务院联防联控机制9日召开的电视电话会议提出,大城市建立步行15分钟核酸采样圈。上海证券5月9日的行业周报称,北京上海杭州宁波等地已陆续出台核酸检测要求,并加码建设常态化核酸检测点南卡L1护眼台灯让孩子远离近视健康成长相关统计调查数据表明,我国患有近视的孩子数量越来越庞大,并呈现逐年增长的态势。坐姿不正确电子产品的应用眼睛离书本过近课业负担过重不适宜的光线以及长时间用眼等原因都有可能诱发近视。因春暖花开一起向滨海五月新趣处,来这里与快乐相拥五月,微风不燥,阳光正好正是感受自然的最佳时节乘着怡人的微风面朝大海,春暖花开与初夏一起亲近大自然!一路向北,欢乐滨海在这里可赶海可玩水可露营野餐1欢乐海沙滩欢乐海沙滩平缓宽阔风景自驾北美Ohio俄亥俄州(咋像哦嗨哦)上篇Ohio俄亥俄州,名字是不是很熟悉俄亥俄一词源于当地原住民易洛魁族语,意为美好之河(BeautifulRiver)。为了表达敬意,美国海军以俄亥俄命名过多艘军舰,如俄亥俄级潜艇俄亥曝小米12Ultra或延迟发布,小米12让路新机跌至大米价悲惨让路DigitalChatStation表示,小米12Ultra晚一些。考虑到台积电8代第一代生产进度因全球新冠疫情而放缓,小米12至尊纪念版可能要到7月份才能上市。其他配置方面,据爆手机绑定了银行卡,先别着急使用,打开这2个开关支付才会更安全本文编辑今日头条作者维权骑士签约用户小俊技术分享独家原创制作未经授权严禁转载,发现抄袭者将进行全网维权投诉分享生活小妙招,享受科技新生活!大家好,欢迎来到今天的知识分享!我是你们的30秒演示用OPPOA96,10分钟介绍2或3种手机屏幕投影方法随着智能家居的普及,许多家用电器都可以与手机互联,尤其是智能电视,它被用作客厅的娱乐载体,可以在多种场景下与手机互联,例如,在看电影或视频时,手机的小屏幕肯定不如电视的大屏幕好,因双胞胎加辅食后,一个爱吃辅食,一个爱喝奶,一岁时体检差距大双胞胎勇勇和耀耀是奶奶和妈妈的宝贝。从怀孕去照B超,发现是双胞胎开始,妈妈就成了全家的重点保护对象,就像大熊猫一样被家里的人保护起来。一hr怀孕的时候,作为姑姑的营养师,还专门地给搜狗地图官宣5月15日下线,将关闭所有服务,此前App已下架Tech星球5月11日消息,据IT之家,搜狗地图官网显示,搜狗地图将于2022年5月15日23点正式下线,届时关闭所有相关服务,并建议用户下载腾讯地图。公开资料显示,搜狗地图原名图大衣哥儿媳陈萌又要走陈亚男的老路?刚订婚没几天就注册社交账号最近大衣哥儿子朱小伟再次订婚的消息在网络上传得沸沸扬扬,有媒体记者就此事采访了昔日的农民歌手朱之文得到了证实,朱之文接受采访说确有此事,准儿媳名字叫陈萌,大家都管她叫萌萌,是一个小58同城,裁员惹上麻烦了来源丨HR新逻辑原创首发作者丨HRLogic编辑中心嗨,这里是HR新逻辑HRL!近日,58同城员工侯某在网上发表长文,怒斥58同城的不公平裁员。据侯某所述,他就职于58同城旗下的安