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

[Android]使用Git将项目提交到GitHub

如果你的Mac还没有安装Git,你可以通过Homebrew来安装它:

brew install git

方式一:终端管理

1.创建本地Git仓库

在项目的根目录下,打开终端(Terminal)并执行以下命令来初始化一个新的Git仓库:

git init

2.添加文件到仓库

将项目文件添加到Git仓库中。首先可以添加所有文件:

git add .

或者,你可以选择性地添加文件:

git add <file_or_folder>

3.提交更改

提交你的更改到本地仓库:

git commit -m "Initial commit"

4.在GitHub上创建新的仓库

登录到你的GitHub账户,创建一个新的仓库。

注意:不要勾选README,勾选后用这种方式提交会报错,提示“hint: to the same ref. You may want to first integrate the remote changes”。

5.连接本地仓库与GitHub

将你的本地仓库与GitHub上的仓库连接起来。GitHub会为你提供需要执行的命令,通常是这样的:

git remote add origin https://github.com/yourusername/your-repository-name.git

6.推送到GitHub

将你的代码推送到GitHub上:

git push -u origin master

如果你使用的是main分支,那么将master替换为main。

方式二:终端管理

我比较喜欢用这种方式,因为README文件迟早要创建。

1.在GitHub上创建新的仓库

登录到你的GitHub账户,创建一个新的仓库。

创建时将"Add a README file"勾上,然后我们就可以点击“Code”复制HTTPS和SSH。

2.CD到某个目录将仓库克隆下来

$ cd /Users/gamin/Documents
$ git clone https://github.com/Gamin-fzym/GAAndroidTest.git

3.将Android项目文件复制到仓库目录中提交

$ cd /Users/gamin/Documents/GAAndroidTest 
$ git add .
$ git commit -m "first commit"
$ git push

4.删掉本地仓库重新将仓库克隆下来

项目克隆下来后,验证一下运行有没问题。发现缺了配置,添加一个新配置,然后运行就可以了。

方式三:在Android Studio中管理

1.打开Android Studio中的项目。

2.从菜单栏选择VCS > Create Git Repository。

3.选择项目文件夹来初始化Git仓库。

4.使用VCS > Commit(或使用快捷键⌘K)来提交你的文件。

5.创建GitHub仓库,并将其URL添加到Android Studio的版本控制设置中。

注意:创建时不要勾选README,勾选后用这种方式提交会报错。

6.最后,使用VCS > Push(或使用快捷键⌘ShiftK)来推送你的代码到GitHub。

相关文章:

  • 微信小程序会议OA-登录获取手机号流程登录-小程序导入微信小程序SDK(从微信小程序和会议OA登录获取手机号到登录小程序导入微信小程序SDK)
  • 如何让bug远离你?
  • 防止恶意攻击,服务器DDoS防御软件科普
  • 【开源】基于Vue和SpringBoot的教学过程管理系统
  • opencv-python读取的图像分辨率太大不能完全显示
  • 2024东北师范大学计算机考研分析
  • 华为云cce健康检查有什么用?配置需要注意什么?
  • 计算机毕业设计选题推荐-个人博客微信小程序/安卓APP-项目实战
  • Redis的四种模式:单机、主从、哨兵、集群
  • 案例研究|北京交通大学基于DataEase开展多场景校园数据分析与展示
  • 如果在手机没有root的情况下完成安卓手机数据恢复
  • java springboot在测试类中构建虚拟MVC环境并发送请求
  • Jenkins扩展篇-流水线脚本语法
  • 【Python3】【力扣题】338. 比特位计数
  • 设备健康管理平台助力锂电企业实现可持续发展
  • ----------
  • [分享]iOS开发 - 实现UITableView Plain SectionView和table不停留一起滑动
  • [原]深入对比数据科学工具箱:Python和R 非结构化数据的结构化
  • ES6 ...操作符
  • Java多线程(4):使用线程池执行定时任务
  • Java面向对象及其三大特征
  • js递归,无限分级树形折叠菜单
  • JS正则表达式精简教程(JavaScript RegExp 对象)
  • MySQL数据库运维之数据恢复
  • vue的全局变量和全局拦截请求器
  • 纯 javascript 半自动式下滑一定高度,导航栏固定
  • 关于extract.autodesk.io的一些说明
  • 记一次删除Git记录中的大文件的过程
  • 你真的知道 == 和 equals 的区别吗?
  • 前端学习笔记之原型——一张图说明`prototype`和`__proto__`的区别
  • 入口文件开始,分析Vue源码实现
  • ​HTTP与HTTPS:网络通信的安全卫士
  • ​批处理文件中的errorlevel用法
  • #pragma pack(1)
  • (2015)JS ES6 必知的十个 特性
  • (3)llvm ir转换过程
  • (二)pulsar安装在独立的docker中,python测试
  • (附源码)基于ssm的模具配件账单管理系统 毕业设计 081848
  • (剑指Offer)面试题41:和为s的连续正数序列
  • (蓝桥杯每日一题)love
  • (论文阅读26/100)Weakly-supervised learning with convolutional neural networks
  • (区间dp) (经典例题) 石子合并
  • (转)Oracle 9i 数据库设计指引全集(1)
  • .desktop 桌面快捷_Linux桌面环境那么多,这几款优秀的任你选
  • .NET CORE Aws S3 使用
  • .NET Core WebAPI中使用Log4net 日志级别分类并记录到数据库
  • .NET HttpWebRequest、WebClient、HttpClient
  • .NET Standard 的管理策略
  • .NET/C# 使用 #if 和 Conditional 特性来按条件编译代码的不同原理和适用场景
  • .NET:自动将请求参数绑定到ASPX、ASHX和MVC(菜鸟必看)
  • .NET学习全景图
  • [ Linux Audio 篇 ] 音频开发入门基础知识
  • [2010-8-30]
  • [C++]C++基础知识概述
  • [C++]STL之map