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

C++ 在项目中使用Git

目录

一:配置邮箱和姓名

二:生成SSH Key

三:git 工作区和状态

四:git log 常用法 

五:git diff 常用法 

六:git 分支操作   

七:git 回溯分支

八:git rebase -i 压缩历史提交记录 

九:推送到远程仓库

十:提交 Pull Request 流程

十一 接受 pull request

  


一:配置邮箱和姓名

$ git config --global user.name "Firstname Lastname"
$ git config --global user.email "your_email@example.com"
//让输出更具可读性
$ git config --global color.ui auto

二:生成SSH Key

ssh-keygen -t rsa -C "your_email@example.com"
//将生成的ssh-key配置到github上,然后测试 
ssh -T git@github.com

三:git 工作区和状态

 四:git log 常用法 

//提交信息只显示一行
$ git log --pretty=short
$ git log --pretty=oneline //显示文件改动
$ git log -p//过滤提交内容
$ git log --grep //按作者过滤
$ git log --author//行数统计
git log --stat 

五:git diff 常用法 

//显示工作区与暂存区的差异
$ git diff//显示工作区与本地仓库的差异
git diff HEAD//显示暂存区与上次提交时的差异
git diff --cached 
git diff --staged //从工作目录删除文件
rm  xxxx
git rm xxxx//将文件从仓库中删除,但保留在工作区
git rm --cached xxxx

六:git 分支操作   

//新建分支
git checkout -b feature-A//合并分支,将feature-A 分支合并到当前分支
git merge feature-A//以图表形式查看分支
git log --graph//以图形界面形式查看分支
gitk

七:git 回溯分支

//让仓库的 HEAD、暂存区、当前工作树回溯到指定状态
git reset --hard//撤销上一次提交,重新提交
git commit --amend
//查看当前仓库执行过的操作的日志
git reflog

八:git rebase  用法

//用于压缩历史提交记录
git rebase -i//用于合并分支,如下图(C3变化的补丁重新在C4的基础上打一遍),注意与merge的区别
git checkout experiment 
git rebase master //永远不要rebase那些已经推送到公共仓库的commit。

 

 九:推送到远程仓库

//添加远程仓库
git remote add origin git@github.com:github-book/git-tutorial.git//到远程仓库拉取比你低仓库中还没有的数据
git fetch xxxx
//推送到远程分支,-u参数可以在推送的同时,将 origin 仓库的 master 分
支设置为本地仓库当前分支的 upstream(上游)
git push -u origin master1 git push origin master:refs/heads/master是将本地的master分支推送到远程主机origin上的对应master分支, origin 是远程主机名,第一个master是本地分支名,第二个master是远程分支名。简写为: git push origin master2 git push origin HEAD:refs/for/masterorigin : 是远程的库的名字HEAD: 是一个特别的指针,它是一个指向你正在工作的本地分支的指针, 可以把它当做本地分支的别名,git这样就可以知道你工作在哪个分支refs/for :意义在于我们提交代码到服务器之后是需要经过 code review 之后才能进行merge的refs/heads: 不需要3. 删除远程分支git push origin :serverbranch
//我们试着将 feature-D 分支获取至本地仓库
git checkout -b feature-D origin/feature-D
//将本地的 feature-D 分支更新到最新状态(远程仓库的 feature-D) 
git pull origin feature-D

十:提交 Pull Request 流程

1. 先fork仓库2. 克隆仓库git clone git@github.com:hirocastest/first-pr.git3. 给原仓库设置 upstream 的名称,将其作为远程仓库 git remote add upstream git://github.com/octocat/Spoon-Knife.gitgit fetch upstream4. 查看分支git branch -a5. 创建分支git checkout -b work gh-pages6. 推送到远程分支 git push origin work7. 提交pull request

十一 接受 pull request

1. 克隆仓库git clone git@github.com:ituring/first-pr.git2. 获取发送方远程仓库git remote add PR发送者 git@github.com:PR发送者/first-pr.git3. 新建分支 git checkout -b pr14. 合并分支git merge PR发送者/work5. 合并到主分支git checkout gh-pagesgit merge PR送信者/work

  

       

http://www.lryc.cn/news/437793.html

相关文章:

  • Python(TensorFlow和PyTorch)及C++注意力网络导图
  • 选择firewalld还是iptables
  • C到C++入门基础知识
  • Aigtek功率放大器的主要参数有什么
  • 运维工程师概述及职责
  • Android系统dumpsys命令详解
  • [Unity Demo]从零开始制作空洞骑士Hollow Knight第二集:通过InControl插件实现绑定玩家输入以及制作小骑士移动空闲动画
  • 基于鸿蒙API10的RTSP播放器(七:亮度调节功能测试)
  • 基于SpringBoot+Vue的校内跑腿业务管理系统
  • 嵌入式鸿蒙系统开发语言与开发方法分析
  • SpringBoot开发——整合Spring Data MongoDB
  • camouflaged object detection中的decoder最核心的作用
  • Java volatile
  • 一条sql是如何执行的详解
  • “先天项目经理圣体”丨超适合做项目经理的4种人
  • 如何从object中抽取某几个值,然后转换成数组
  • 数据结构(14)——哈希表(1)
  • K近邻算法_分类鸢尾花数据集
  • nacos和eureka的区别详解
  • AI大模型包含哪些些技术?
  • 分布式技术概览
  • 动手学习RAG: moka-ai/m3e 模型微调deepspeed与对比学习
  • Nacos rce-0day漏洞复现(nacos 2.3.2)
  • yjs04——matplotlib的使用(多个坐标图)
  • MOS管和三极管有什么区别?
  • 医院多参数空气质量监控和压差监测系统简介@卓振思众
  • [项目实战]EOS多节点部署
  • setImmediate() vs setTimeout() 在 JavaScript 中的区别
  • 【Java文件操作】文件系统操作文件内容操作
  • 关于若依flowable的安装