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

git相关操作记录

一、github仓库创建以及拉取代码

1.配置ssh

点击头像
点击设置
点击SSH and GPG keys
新建SSH key
需要填写title和key值,点击添加即可

key值获取:

a. 本地创建ssh key
打开 PowerShell(或者按下 Windows + X 并选择 “Windows PowerShell”);
在 PowerShell 中输入以下命令来生成 SSH 密钥:
ssh-keygen -t rsa
输入您要保存密钥文件的路径和名称。例如:C:\Users\YourName.ssh\id_rsa。您可以选择保留默认名称,因为它已经被 SSH 所识别(id_rsa);
在弹出的窗口中输入密码,或者直接敲击回车键选择不设置密码;
这个时候会得到一个公共密钥(id_rsa.pub)和一个私有密钥(id_rsa)。
b. 将key 放在 gitlab上
cat .ssh/id_rsa.pub # 查看公共密钥
将打印出来的都复制下来,粘贴到key值
创建成功

2.创建git仓库

创建新的仓库,点击New
创建成功

3.拉取仓库代码

打开git bash
创建新的文件夹存放代码,具体路径看个人习惯
pwd # 查看当前路径
cd c: #进入 c盘 
mkdir test_project # 创建文件夹
cd test_project # 进入文件夹
echo "# test_project" >> README.md   # 创建 readme文件
git init # 初始化一个新的Git 仓库
git add README.md # 将工作目录中的改动添加到暂存区 
# git add . 添加所有文件
git commit -m "first commit"  #将暂存区的修改记录为新的版本提交‌,-m 是添加备注
git branch -M main # 重命名当前仓库中的某个分支,使其新的名字为 main,从截图可看见当前分支是master,将其重命名为main
git remote add origin git@github.com:Tammi-Pioneer/test_project.git # 将远程仓库添加到本地 Git 仓库中‌
# 语法是git remote add <远程仓库别名> <远程仓库URL>
git push -u origin main # 将本地分支推送到远程仓库并建立追踪关系‌
刷新页面
用pycharm打开刚才的文件夹

二、git常规操作

1.设置邮箱和账号

配置全局用户信息,用于标识代码提交者‌
git config --global user.name "tammi"
git config --global user.email "your email"

2.拉取最新代码

远程代码获取与本地合并‌
git pull origin main

3.创建新分支

基于当前分支创建并切换到新分支
git checkout -b feature-branch

4.从主分支合并代码到新分支

确保新分支包含主分支最新代码‌
git fetch origin
git merge origin/main

5.提交代码

修改readme文件,修改内容后可以发现颜色已经改变
将修改添加到暂存区并提交到本地仓库‌
git add .\README.md
git commit -m "[MOD] 修改readme文件"
add 文件后发现有警告:  
Git 在 Windows 系统下的换行符自动转换警告,属于正常现象‌
我点击右下角直接切换了。具体需看整体使用风格做选择。
使用pycharm的提交方式如下:
点击commit、查看并勾选修改的文件、添加提交注释、点击commit and push进行提交并推送

6.推送代码

首次推送需建立远程追踪关系‌
git push -u origin feature-branch
在上一步的pycharm操作中,如果只commit没有push
会发现有个绿色的小箭头,点击push
里面则是commit但未被push的内容,点击push推送
推送成功

7.查看日志

显示提交历史(按 q 退出)‌
git log --oneline --graph
也可以使用pycharm的git history
还可以筛选分支、提交人、日期等

8.将新分支代码合并到主分支

先切换回主分支再合并‌
git checkout main
git merge feature-branch
会发现有个绿色小箭头,需要推送到远程

三、解决冲突

1.修改代码前先拉取最新代码,以避免冲突

pull最新代码、合并主分支到当前分支。。

2.发生冲突的解决

1是代码少并且无关紧要,直接放弃本地代码

假如有人在分支修改了readme文件,第四行写的测试2
我本地分支第四行写的“测试3”
“测试3”就不见了。发现绿色箭头要push

2是文件少依次解决冲突文件,一定要确保别人的代码不会弄丢

test_project1增加了测试4并提交推送了
test_project这边没有拉取最新代码
先把远程修改的放到结果里面来
再把自己的放进来
再次推送

3是使用git stash储藏本地修改的代码

test_project1增加了测试6并提交推送了
我本地分支第四行写的“测试7”,提交并推送会发现有冲突
点击取消推送
先撤回commit的内容
git reset --soft HEAD~1 # 取消最近一次 commit,但保留所有文件修改和暂存状态
选择git stash
写好备注,创建stash
拉取最新代码
查看stash储藏列表
git stash pop # 恢复并删除储藏记录
需要解决冲突
再次push
这里也可以操作
git stash drop #可以丢弃当前冲突的储藏

四、本地代码丢失的找回方法

1是查看git history找分支上的提交记录

2是利用开发软件的local history找修改记录

这个操作可以恢复
http://www.lryc.cn/news/603029.html

相关文章:

  • C++初学者4——标准数据类型
  • Day 24:元组与os模块
  • STM32F4—电源管理器
  • 新华三H3CNE网络工程师认证—Telnet
  • 在 CentOS 中安装 MySQL 的过程与问题解决方案
  • 每日面试题16:什么是双亲委派模型
  • LINUX 728 SHELL:grep;sort;diff
  • mp核心功能
  • CDN架构全景图
  • 【JavaScript】箭头函数和普通函数的区别
  • 【AI论文】MegaScience:推动科学推理后训练数据集的前沿发展
  • Node.js + TypeScript 开发健壮的淘宝商品 API SDK
  • Flutter实现Android原生相机拍照
  • 项目任务如何分配?核心原则
  • MongoDB的内存和核心数对于运行效率的影响
  • Python动态规划:从基础到高阶优化的全面指南(2)
  • 商用车的自动驾驶应用场景主要包括七大领域
  • 代码随想录算法训练营第三十三天
  • C++模板进阶:从基础到实战的深度探索
  • 网易易盾、腾讯ACE等主流10款游戏反外挂系统对比
  • 7寸工业模组 XA070Y2-L01芯显科技详细参数资料
  • 图——邻接表基本操作算法实现
  • USRP X410 X440 5G及未来通信技术的非地面网络(NTN)
  • 代码解读:微调Qwen2.5-Omni 实战
  • 《Go Web编程实战派--从入门到精通》的随笔笔记
  • LLM Landscape:2025年大语言模型概览
  • 数据处理工具是做什么的?常见数据处理方法介绍
  • ethers.js基础(学习路线清单)
  • 正向代理和反向代理的理解
  • 从“PPT动画”到“丝滑如德芙”——uni-app x 动画性能的“终极奥义”