git 命令详解和Android Studio代码管理工具

目录

  • 前言
  • git命令上传项目
    • 一、核心操作
    • 二、解决冲突
    • 三、情景举例
    • 四、查看ssh密钥
    • 五、克隆远程项目
    • 六、回退某个操作
    • 七、和远程分支建立关联
    • 八、删除文件
    • 九、远程仓储
    • 十、多人协作
    • 十一、分支策略
    • 十二、其他
  • Android Studio代码管理控制

前言

相比SVN CVS的管理模式,git的代码管理管理模式在存储上可以简单理解为3份,一份是在远端服务器上,一份是在本地服务器上,还有一份就是项目工程。所以工程提交代码是提交到本地服务器,发布的时候才会提交到远端服务器上。从命令行的角度来看这是分步执行的,当然在我们的工具中可能有提交且发布的操作功能,实际上也是分步执行提交和发布。本质上还是因为分布式代码管理策略。

git命令上传项目

  1. 命令行中,输入 git init

  2. 将文件夹中的内容全部添加到git管理中 git add .

  3. 提交 git commit -m ‘first commit’

  4. 连接github仓库 git remote add origin https://github.com/xxx/Test.git

  5. git push -u origin master

项目提交成功

一、核心操作

# 1.初始化仓库,.git目录默认隐藏,可以通过命令ls -ah显示
git init# 2.把文件添加到版本库,可以一次添加多个文件,git add . 代表把所有文件全部提交
git add 文件名 文件名# 3.把文件提交到当前分支
git commit -m '本次提交的说明'# 4.把项目提交到(远程)仓储
git push

二、解决冲突

# 1.查看远程分支
git branch -a# 2.查看本地分支
git branch# 3.创建并切换分支 (加-b表示创建并切换)
git checkout -b 分支名# 4.切换回分支
git checkout 分支名# 5.从主分支里创建新分支
git checkout master -b 新分支名# 6.合并某分支到当前分支
git merge 分支名# 7.删除分支
git branch -d 分支名
git branch -D 分支名 (强行删除分支)

三、情景举例

# 情景一 提交或拉取时冲突
git stash
git pull
git stash pop# 情景二 如果你想完全地覆盖本地的代码,只保留服务器端代码,则直接回退到上一个版本,再进行pull
git reset --hard HEAD^
git pull origin master
# 注:origin master表示git的主分支# 情景三 分支合并时冲突(当我们git merge 分支名 时)
1.git status (查看发生冲突的文)
2.然后手动合并冲突
3.git add .  (添加更改后的文件)
4.git commit -m 'xj' (提交)

四、查看ssh密钥

# 1.进入.ssh目录
cd ~/.ssh
# 2.查看id_rsa.pub文件
cat id_rsa.pub

五、克隆远程项目

git clone 远程源地址

六、回退某个操作

# 1.查看命令历史
git reflog
# 2.根据commitID撤销某个操作
git reset --hard 某个commitId

七、和远程分支建立关联

git branch --set-upstream-to=origin/远程分支的名字 本地分支名

八、删除文件

# 删除版本库中的文件
git rm filename
# 恢复工作区中误删的文件
git checkout -- filename
# 注:git checkout其实是用版本库里的版本替换工作区的版本,
#无论工作区是修改还是删除,都可以“一键还原”。

九、远程仓储

# 1.创建sshkey密钥
ssh-keygen -t rsa -C "youremail@example.com"
# 2.在远程仓库中添加ssh公钥
# 3.关联远程库
git remote add origin git@server-name:path/repo-name.git
# 4.第一次推送master分支的所有内容,此后只需要使用git push origin master即可推送最新修改
git push -u origin master

十、多人协作

# 1.查看远程仓储的详细信息
git remote -v
# 2.推送本地分支到远程仓库,#1.如果发生冲突,用git pull试图合并,如果发生冲突则解决冲突,再进行推送#2.如果git pull后提示no tracking information(没有追踪信息),#则进行第四项,建立关联,之后pull,有冲突再合并
git push origin 本地分支名
# 3.在本地创建和远程分支对应的分支
git checkout -b 本地分支 origin/远程分支名
# 4.建立本地分支和远程分支的关联
git branch --set-upstream 本地分支名 origin/远程分支名

十一、分支策略

1. master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;
2. 干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;
3. 每个人都有自己的分支,时不时地往dev分支上合并就可以了

十二、其他

# git fetch和git pull的区别
与git pull相比git fetch相当于是从远程获取最新版本到本地,但不会自动merge。
如果需要有选择的合并git fetch是更好的选择。效果相同时git pull将更为快捷。# 查看仓库当前的状态
git status# 查看提交日志
git log# 回退版本,在git中用HEAD表示当前版本,HEAD^表示上一个版本,HEAD^^表示上上个版本
git reset --hard HEAD^ 或
git reset --hard 3628164 (数字代表log里commit后面的id,只需要填前几位就可以)# 窗口关闭后回退版本(git reflog用来记录你的每一次命令)
git reflog# 工作区和暂存区
工作区就是你建立的能看见的目录,.git即为git的版本库,Git的版本库里存了很多东西,
其中最重要的就是称为stage(或者叫index)的暂存区,Git为我们自动创建的第一个分支master,
以及指向master的一个指针叫HEAD。
用git add把文件添加进去,实际上就是把文件修改添加到暂存区;
用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支# 撤销修改
1.直接丢弃工作区的修改,用命令git checkout -- file
2.修改添加到了暂存区,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作

Android Studio代码管理控制

android studio 现在的代码管理已经很方便使用了,可对git、svn、cvs的仓库进行交互。
同时也具备了一个可视化的代码处理,如变化的文件、冲突的文件、提交日志,可快速方便的编辑冲突代码和对比代码前后的修改变化。同时也可以结合命令行进行更多的处理操作。

参考:https://www.cnblogs.com/godlove/p/11769572.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/558181.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

表单和字都居中_APP 分享 | 6 款黑科技工具,低调收藏,每一款都很强大!

iSlide 简单、高效地制作PPT使用环境: Windows使用要求: Office 2010 及以上版本授权状况: 无广告 有付费功能官网地址: www.islide.ccSlide是一款基于PowerPoint的插件工具,功能十分强大,高效做PPT必备利器一键优化:将PPT中不规则的字体,段落,色彩,参考线…

Android studio gradle task list 不显示问题

问题描述 新电脑安装android studio后,导入工程,各种配置都弄好变更好,出现了如下情况: 之前习惯的gradle task 不在列表中,好不习惯。 正常期望如下: 处理方法 快捷键Ctrl Alt S或者 file -> se…

python flask高级编程之restful_python Flask实现restful api service

一直在用node.js做后端,要逐步涉猎大数据范围,注定绕不过python,因此决定把一些成熟的东西用python来重写,一是开拓思路、通过比较来深入学习python;二是有目标,有动力,希望能持之以恒的坚持下去…

Android Studio Gradle输出信息乱码

在更换android studio 版本之后,一般windows 版本在项目构建过程中,gradle 相关的信息输出,会出现乱码,基本上明知是字符编码的问题,但看着就是不爽,例如下面这的情形: ע: ijЩ�&am…

python tkinter布局混用_python tkinter布局界面如何实现?

当我们自己走入一个互联网窗口里,寻找内容,清晰而明朗,这就是涉及了一个页面布局的知识,不只是一个站点,一个网页,设置是一个窗体都是有清晰的布局,语言的编写,就是为了效率执行而存…

Edge 修改字符编码(详细图文)

Microsoft Edge 版本 97.0.1072.62 (官方内部版本) (64 位) 前言 如下图,在访问页面时出现乱码,而且一直返回的内容编码是UTF-8,但Edge没找快捷的编码方式选择 方法一 Internet Explorer 模式加载 打开Edge浏览器 点击Edge右上角三点 点…

json tcl_确定TCL中变量的类型

Tcl的变量没有类型(除了他们是否真的变量的关联数组 - 即使用$foo(bar)语法 - FO r你使用array exists)但Tcl的值。好吧,有点。 Tcl可以在不同类型之间进行变异,因为它认为合适,并且不公开这些信息[*];你所能做的就是检查一个值是否符合特定的…

【Android】Unresolved reference: databinding

检查配置 对应module的build.gradle是否添加了databinding配置 buildFeatures {viewBinding true } // 或者 dataBinding {enabled true }检查包名(特别注意) 报错的包名是否和app包名一致。 例如app包名是 com.xxx.app 而报错的代码中binding的包名路径不在app包名下&…

水塔清洗机器人_最全的中央空调清洗流程

一、施工方案和技术措施项目总体施工纲要积极主动与客户沟通协调。做好现场的勘查工作:严密、详细、周全。掌握客户的动态,不断完善施工进度表。分项目制定严密的施工方案、计划和管理措施。制定详尽的突发事件应急预案。建立安全责任制&…

【Android】ConstraintLayout中RecyclerView 的底部数据显示不全以及覆盖其他View

文章目录xml布局内容预览画面(看着没毛病)&#xff1a;实际画面&#xff1a;解决办法说明xml布局内容 <?xml version"1.0" encoding"utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android"http://schemas.android.com/a…

python中forward的作用_基于numpy的前馈神经网络(feedforward neural network)

***这几天在上Andrew Ng教授开的Coursera系列课程Deep Learning&#xff0c;总觉得光是看视频和做作业还不够&#xff0c;还是得自己动手写写代码&#xff0c;亲自实现课程里提到的算法内容&#xff0c;于是便有了这篇博客&#xff0c;作为自己入门深度学习的里程碑吧。前馈神经…

Charles抓取HTTPS Windows Android iOS 图文详细

文章目录背景操作原理windows 安装CharlesCharles配置第一步&#xff1a;配置HTTP代理&#xff0c;这步与抓取HTTP请求是一样第二步&#xff1a;配置SSL代理第三步 &#xff1a;为手机配置代理iPhone 代理配置Android 代理配置第四步&#xff1a;安装根证书iPhone 安装charles证…

css线条伸缩_CSS3弹性伸缩布局之box布局

CSS3弹性伸缩布局简介2009年&#xff0c;W3C提出了一种崭新的方案----Flex布局(即弹性伸缩布局)&#xff0c;它可以简便、完整、响应式地实现各种页面布局&#xff0c;包括一直让人很头疼的垂直水平居中也变得很简单地就迎刃而解了。但是这个布局方式还处于W3C的草案阶段&#…

Android代码安装apk程序

文章目录一、高低版本兼容代码及配置1.java代码2.AndroidManifest.xml 配置ContentProvider3.paths xml 配置二、老版本代码三、可能出的问题及处理一、高低版本兼容代码及配置 高版本提高了sdcard、 app文件空间的访问权限&#xff0c;高低版本的系统api有一定区别&#xff0…

Android adb 安装apk程序

文章目录ADB简单介绍安装命令安装失败情况adb 安装测试包adb 安装卸载的所有命令摘要前言多数情况下&#xff0c;用户都是从应用商店或某网页下载apk后从手机上直接安装apk文件&#xff0c;在调试或下载到电脑上时候&#xff0c;我们就可以直接通过adb安装到手机。在测试小伙伴…

XML十六进制无效的字符(0x0b 0x0c 0x02)

文章目录解决方法ASCII“字符”1、ASCII 打印字符2、ASCII 非打印控制字符3、扩展 ASCII 打印字符4、ASCII 之外ASCII 字符输入方法与常用地方1、在文档中插入 ASCII 字符2、输入方法前言xml 中包含了非打印字符的情况下&#xff0c;即使是放在cdata 中&#xff0c;在不同平台上…

tab栏圆点按钮_uniapp tabbar上的小圆点

需求在tabbar的图标右侧显示和隐藏小圆点。一般表示有新消息、新更新。基本代码序号从0开始计算。uni.showTabBarRedDot({index:1});uni.hideTabBarRedDot({index:1});修改代码App.vue或index页在App.vue的onLaunch周期或者是index页的onLoad加入代码&#xff0c;判定是否需要显…

Android OpenGLES2.0(一)OpenGLES2.0基础介绍

文章目录什么是OpenGL ES&#xff1f;OpenGL ES可以做什么&#xff1f;OpenGL ES版本及Android支持情况OpenGL ES 2.0的优点OpenGL ES 2.0中基本概念顶点着色器片元着色器着色器语言坐标系图形的绘制投影光照纹理映射其它OpenGL ES 2.0过程及理解什么是OpenGL ES&#xff1f; O…

如何 方法内指令重排 进制_谈谈指令重排

这个知识点也是很多人说不清道不明的地方&#xff0c;感觉都知道&#xff0c;说又说不出来。为什么会这样呢&#xff1f;因为这几个字&#xff0c;很容易被当成动词去理解&#xff0c;其实正确的理解是当成名词&#xff0c;即指令重排现象。那什么时候会产生指令重排现象呢&…

Windows ‘ls‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件

文章目录前言原因解决办法前言 Windows和mac混用或Windows与linux混用的情况下&#xff0c;在windows dos窗口随手一个ls&#xff0c;出现了 ‘ls’ 不是内部或外部命令&#xff0c;也不是可运行的程序 或批处理文件。 原因 ls是linux的命令&#xff0c;不是windows的命令,win…