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

【Linux服务器】git和github交互使用

前言:有时候pycharm连接不上github,还是得命令行操作

目录

  • 1. 准备git
  • 2. 配置github账户
  • 3. 上传项目
    • 3.1 创建本地仓库
    • 3.2 提交本地代码
    • 3.3 上传到github
  • 4. 注意

1. 准备git

下载链接:官网
下载后直接运行安装,cmd输入git --version查看是否安装成功

2. 配置github账户

git bash中运行以下命令

git config --global user.name "{your github name}"
git config --global user.email "{your github email}"

配置好后运行以下命令验证配置

git config --global user.name 
git config --global user.email

3. 上传项目

3.1 创建本地仓库

找到需要上传的代码文件,在git bash中cd到该项目,然后输入以下命令初始化

git init

在该文件夹下会生成一个隐藏的.git文件夹,通过 ls -al命令可以查看到。如果想删除这个仓库,删除.git文件夹就可以了。

3.2 提交本地代码

这一步是上传到本地仓库

git add .
git commit -m {description}

3.3 上传到github

  • 创建ssh key
    git bash输入以下命令:
ssh-keygen -t rsa -C "你的邮箱名"

一路回车就可以了,然后去执行完成后出现的路径找id_rsa.pub文件,复制里面的ssh key。
如果之前创建过就不用创建,验证有没有创建过:

cd ~/.ssh
  • github创建仓库
    进入自己的Github主页,在Settings中,选择SSH and GPG keys,然后再点击右上角添加新密钥按钮New SSH key,把刚刚复制的ssh key放到key中,title随便写一个。然后在github主页新建一个仓库。
  • 关联远程仓库
    关联github仓库和本地仓库,在GitHub仓库页面复制路径:
    在这里插入图片描述
    在git bash的项目路径下面:
git remote add origin "{拷贝的路径}"
  • 提交代码
git push -u origin master

4. 注意

  1. github现在默认显示分支由master变成了main,最后上传到main分支,不然在github上需要切换分支才能看到代码。
# 1. 将本地 master 推送到远程 main
git push origin master:main# 2. 可选:将本地 master 跟踪远程 main 分支
git branch --set-upstream-to=origin/main master
  1. git相关命令操作参考
  2. 出现 ! [ r e j e c t e d ] m a s t e r − > m a i n ( f e t c h f i r s t ) e r r o r {\color{red}{ ! [rejected] master -> main (fetch first) error}} ![rejected]master>main(fetchfirst)error错误,因为github远程仓库有readme.md,本地没有,合并远程仓库到本地再push
git pull --rebase origin main

相关文章:

  • docker pull镜像失败问题解决尝试
  • 极狐GitLab 17.4 重点功能解读【九】
  • 云计算课程作业1
  • TS系列(4):常用类型之类、抽象类和接口
  • Steam黑神话悟空禁止更新进入游戏的解决方案
  • 【开源免费】基于SpringBoot+Vue.JS技术交流分享平台(JAVA毕业设计)
  • 多线程相关内容
  • 图解FTP服务器配置:实体用户方式访问案例
  • SQL CREATE TABLE 语句
  • Vxe UI vue vxe-table vxe-text-ellipsis 如何实现单元格多行文本超出、多行文本溢出省略
  • 【1米C-SAR卫星】
  • 【Rust网络编程】开发一个图片代理和统计服务
  • Java后端中的资源管理:从数据库连接池到线程池的使用
  • 工业现场网关模块:现代制造业的数据枢纽
  • 设计模式、系统设计 record part02
  • [微信小程序] 使用ES6特性Class后出现编译异常
  • 【vuex入门系列02】mutation接收单个参数和多个参数
  • 2018一半小结一波
  • k8s如何管理Pod
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • 初识 beanstalkd
  • 前端每日实战:61# 视频演示如何用纯 CSS 创作一只咖啡壶
  • 前端性能优化——回流与重绘
  • 使用Gradle第一次构建Java程序
  • 微信支付JSAPI,实测!终极方案
  • 小程序、APP Store 需要的 SSL 证书是个什么东西?
  • 一个普通的 5 年iOS开发者的自我总结,以及5年开发经历和感想!
  • 掌握面试——弹出框的实现(一道题中包含布局/js设计模式)
  • d²y/dx²; 偏导数问题 请问f1 f2是什么意思
  • # AI产品经理的自我修养:既懂用户,更懂技术!
  • ( 10 )MySQL中的外键
  • (¥1011)-(一千零一拾一元整)输出
  • (独孤九剑)--文件系统
  • (每日一问)设计模式:设计模式的原则与分类——如何提升代码质量?
  • (三) prometheus + grafana + alertmanager 配置Redis监控
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用
  • (一)【Jmeter】JDK及Jmeter的安装部署及简单配置
  • (原创)可支持最大高度的NestedScrollView
  • .babyk勒索病毒解析:恶意更新如何威胁您的数据安全
  • .gitignore文件---让git自动忽略指定文件
  • .htaccess 强制https 单独排除某个目录
  • .NET Core、DNX、DNU、DNVM、MVC6学习资料
  • .NET Core中的去虚
  • .Net 基于MiniExcel的导入功能接口示例
  • [ C++ ] STL priority_queue(优先级队列)使用及其底层模拟实现,容器适配器,deque(双端队列)原理了解
  • [000-01-008].第05节:OpenFeign特性-重试机制
  • [001-03-007].第07节:Redis中的管道
  • [2024-06]-[大模型]-[Ollama]- WebUI
  • [AutoSAR 存储] 汽车智能座舱的存储需求
  • [BJDCTF2020]The mystery of ip1
  • [C#]C# winform实现imagecaption图像生成描述图文描述生成
  • [C/C++入门][ifelse]20、闰年判断
  • [C/C++入门][字符与ASCII码]6、用代码来转换字符与它的ASCII码
  • [c++刷题]贪心算法.N01
  • [Codeforces1137D]Cooperative Game