git常用命令,项目删除原有github连接并重新连接,回滚,下拉分支代码,切换分支

下拉分支代码

 

$ git clone https://gitea.https.xiaozhuschool.com/APKDevelopment/YouYuanSellingWineMachine.git -b dev


连接 -b 分支名称

 

切换分支

$ git checkout -b dev

查看全部分支

$ git branch -a

 

git重要的三个命令stash, checkout, reset的一些总结

adb shell <文件。。> pm install -r /storage/emulated/0/Android/data/com.dlc.xiaohaitun/cache/1606183881672.apk    安装APK

C:\Users\Administrator>adb shell pm install -r /storage/emulated/0/Android/data/
com.dlc.xiaohaitun/cache/1606183881672.apk 

adb uninstall com.dlc.zhangqineng   卸载APK 

$ git checkout 3.0b 切换分支 

git checkout .    撤销本地修改
生成密匙
$ ssh-keygen
常用保存上传加载代码的git命令
git stash ——>保存本地代码
git pull ——>加载服务器端的代码到本地
git stash pop ——>把第一步保存的本地代码释放出来
git add . ——>add本地代码
git commit ——>commit 本地代码
git push ——>push上传代码到服务端
$ git reset --hard HEAD ——>返回上一步操作(取消上一步操作)

 

$ rm -rf android-support/——>删除文件android-support/

输入账号和密码 Enter即可

项目删除原有github连接并重新连接

 

git remote set-url origin <new url>

如 

$ git remote set-url origin git@codeup.aliyun.com:5f0e9167df9df74e36afa656/APPRoot/dalianmaomeikuangnew.git
 

最近学习了git的一些重要命令的使用,总结出来跟大家分享:
使用git的几种常见情形:

(1)正常的情形,修改工作区的文件然后add,commit,我使用git一般的流程是:

  git status ——> git stash save "message..."——> git pull --> git stash pop ——> git add . 或 git add filename ——> git commit -m 'message...' ——> git push

其中 . 表示所有的文件。

(2)只需要撤销工作区的文件修改,即用暂存区的文件覆盖工作区中的文件

  git checkout -- filename

(3)当修改的文件已经add到暂存区,需要撤销这次添加,即撤销上一次git add filename 操作:

  git reset -- filename / git reset HEAD filename

  撤销暂存区内所有的文件改动:

  git reset / git reset HEAD

(4)当对上次提交不满意,可以让HEAD指针回退,而暂存区和工作区可以不用动

       git log

git cd ***/

git log 

git reset --hard "提交节点"

  git reset --soft HEAD^

(5)如果让工作区不改变,而暂存区和引用(HEAD指针)回退一次

  git reset --mixed HEAD^

(6)当需要彻底撤销最近的提交,HEAD指针、暂存区、工作区都回到上次的提交状态,自上一次以来的提交全部丢失

  git reset --hard HEAD^

1、git stash 用于保存和恢复工作进度。

git stash
  保存当前的工作进度。会分别对暂存区和工作区的状态进行保存。
git stash list
  显示进度列表。此命令显然暗示了git stash 可以多次保存工作进度,并用在恢复时候选择。

git stash drop [

其他:

git stash pop [--index] [

            --index 参数:不仅恢复工作区,还恢复暂存区<stash> 指定恢复某一个具体进度。如果没有这个参数,默认恢复最新进度如:以下命令恢复编号为0的进度的工作区和暂存区# git stash pop --index stash@{0}(1)如果不使用任何参数,会恢复最新保存的工作进度,并将恢复的工作进度从存储的工作进度列表中清除。(2)如果提供<stash>参数(来自git stash list显示的列表),则从该<stash>中恢复。恢复完毕也将从进度列表中删除<stash>。    (3)选项--index除了恢复工作区的文件外,还尝试恢复暂存区。这也就是为什么恢复进度的时候显示的状态和保存进度前的略有不同。

git stash [save [--patch] [-k|--[no]keep-index] [-q|--quiet] [

这条命令实际上是git stash命令的完整版。(1)save,即如果需要在保存工作进度的时候使 用指定的说明,必须使用如下格式:    git stash save “message...”(2)使用参数--patch会显示工作区和HEAD的差异,通过对差异文件的编辑决定在进度中 最终要保存的工作区的内容,通过编辑差异文件可以在进度中排除无关内容。
(3)使用-k或者--keep-index参数,在保存进度后不会将暂存区重置。默认会将暂存区和工 作区强制重置。

git stash apply [--index] [

除了不删除恢复的进度之外,其余和git stash pop 命令一样。

2、检出命令git checkout是git最常用的命令之一,同时也是一个很危险的命令,因为这条命令会重写工作区。

检出命令的用法如下:

用法一:git checkout [-q] [

注:

<1> 为了避免路径和引用(或者提交ID)同名而发生冲突,可以在

    (1)省略commit:用暂存区的文件覆盖工作区的文件。(2)加上commit:用指定提交中的文件覆盖暂存区和工作区中的文件。

<3>在用法二中,会改变HEAD头指针

    (1)加上<branch>:因为只有HEAD切换到一个分支才可以对提交进行跟踪,否则仍然会进入“分离头指针”的状态。在“分离头指针”状态下的提交不能被引用关联到,从而可能丢失。

所以用法二(加上

<4>在用法三中,主要是创建和切换到新的分支(

下图所示的版本库模型图描述了git checkout实际完成的操作。

使用:

git checkout branch
检出branch分支。要完成图中的三个步骤,更新HEAD以指向branch分支,以及用branch 指向的树更新暂存区和工作区。

git checkout / git checkout HEAD
汇总显示工作区、暂存区与HEAD的差异。

git checkout -- filename
用暂存区中filename文件来覆盖工作区中的filename文件。相当于撤销自上次执行git add filename以来(如果执行过)的本地修改。

git checkout -- . / git checkout .
这条命令最危险!会撤销所有本地的修改(相对于暂存区)。相当于用暂存区的所有文件直接覆盖本地文件,不给用户任何确认的机会!

3、git reset是Git最常用的命令之一,也是最危险最容易误用的命令。

用法一:git reset [-q] [

注:

(1)第一种用法(包含了路径

例如:git reset HEAD

(2)第二种用法(不使用路径

参照下面的版本库模型图,可以看不同的参数对第二种重置语法的影响。

命令格式:git reset [--soft | --mixed | --hard] [

(1)使用参数--soft,如 git reset --soft

(2)使用参数--mixed或者不使用参数(默认为--mixed),如 git reset

(3)使用参数--hard,如git reset --hard

使用:

git reset / git reset HEAD
仅用HEAD指向的目录树重置暂存区,工作区不会受到影响,相当于将之前用git add命令更新到暂存区的内容撤出暂存区。引用也未改变,因为引用重置到HEAD相当于没有重置。

git reset -- filename / git reset HEAD filename
仅将文件filename 的改动撤出暂存区,暂存区中其他文件不改变。相当于命令git add filename 的反射操作。

git reset --soft HEAD^
工作区和暂存区不改变,但是引用向前回退一次。当对最新的提交说明或者提交的更改不满意时,撤销最新的提交以便重新提交。
之前提到过修补提交命令git commit --amend,用于对最新的提交进行重新提交以修补错误的提交说明或者错误的提交文件。修补提交命令实际上相当于执行了下面两条命令。(注:文件.git/COMMIT_EDITMSG保存了上次的提交日志)
  git reset --soft HEAD^
  git commit -e -F .git/COMMIT_EDITMSG

git reset HEAD^ / git reset --mixed HEAD^
工作区不改变,但是暂存区会回退到上一次提交之前,引用也会回退一次。

git reset --hard HEAD^
彻底撤销最近的提交。引用回退到前一次,而且工作区和暂存区都会回退到上一次提交的状态。自上一次以来的提交全部丢失。

分类: 【git】
好文要顶 关注我 收藏该文  
少东主
关注 - 2
粉丝 - 3
+加关注
0
0
« 上一篇:【AngularJS的概念及其单元测试】之Jasmine测试脚本Demo
» 下一篇:【JavaScript高级程序设计】读书笔记之一 —— 理解函数
posted @ 2017-05-08 18:58 少东主 阅读(1821) 评论(0) 编辑 收藏

 

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

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

相关文章

普通树与二叉树的相互转化及哈夫曼树的了解

普通树与二叉树的相互转化及哈夫曼树的了解 二叉树与普通树的转化 二叉树的种种特性使得它更便于处理&#xff0c;如果能将普通树转化成二叉树就好了。 普通树 -> 二叉树 回忆孩子兄弟表示法&#xff0c;有第一孩子域&#xff08;左孩子&#xff09;&#xff0c;还有左孩子的…

node 将汉字转化为拼音

使用npm包&#xff1a;pinyin&#xff0c;这还是一个两年前发布的神库吧。 1、安装 yarn add pinyin2、使用 const pinyin require("pinyin");console.log(pinyin("中心")); // [ [ zhōng ], [ xīn ] ] console.log(pinyin("中心", {he…

oracle 10 数据库覆盖

同事经常发来一个DMP文件&#xff0c;要求覆盖数据库&#xff0c;我一般用下面的方法完成&#xff1a; 首先删除该用户&#xff0c;再新建用户&#xff0c;导入数据到该用户。 1、drop user username cascade; 2、新建用户、付权 3、导入数据 imp 今天导数据时遇到一个…

android 百分数与进度显示

double percent entity.getFundraisingMoney() / entity.getInvestmentProjectAll(); //输出一下&#xff0c;确认你的小数无误 System.out.println("小数&#xff1a;" percent); //获取格式化对象 NumberFormat nt NumberFormat.getPercentInstance(); //设置百…

【基础】ORACLE中on commit preserve rows和 on commit delete rows的区别

首先on commit preserve rows 和 on commit delete rows 都是在oracle 创建临时表时用到的&#xff0c; delete rows用于事务相关,也就在事务结束后truncate data in the temporary table.preserve rows表示在会话结束后清除临时表的数据前者在事务提交后数据就已经清除了&…

跳出内层循环 使用 for of 代替 map

有些场景&#xff0c;比如表单验证的时候&#xff0c;只要有一个字段没有填写&#xff0c;就给出toast提示&#xff0c;这就需要一发现问题&#xff0c;就给出提示&#xff0c;并且跳出循环。 map想要直接跳出循环&#xff0c;需要使用抛出异常的写法&#xff0c;而for of则适…

oracle 10 expdp impdp 导入、导出

今天收到到一个数据库的包&#xff08;.dup&#xff09;&#xff0c;要求导入到现有的数据库中&#xff0c;平时我们收到的包&#xff08;.dmp&#xff09;尾缀不一样&#xff0c;按正常的方法无法导入&#xff0c; 报错&#xff1a;IMP&#xff0d;00010 &#xff1a;不是有效…

android Module之间数据传递

方法一&#xff1a;使用接口回调 &#xff08;1&#xff09;在子module创建回调接口&#xff08;参数可变&#xff09; public interface OnChangeLisener {void onChanged(Date date);}&#xff08;2&#xff09;在子module 实现类设置接口回调 //设置选择回调 public void …

node 根据图片img url 获取 base64

自己都觉得搞笑的是&#xff0c;之前写前端图片裁剪代码的时候&#xff0c;想解决的问题是如何将canvas裁剪的base64图片转化为file格式上传。而现在考虑的问题是&#xff0c;如何将网络中的图片转化为base64图片格式。 两种写法&#xff0c;思想一摸一样。一种是http库实现的&…

130242014037-汤毓聪-实验一

实验报告 课程 软件体系结构与设计 实验名称 软件设计的网络环境 第 页 专业 软件工程 班级 1班 学号 1302420140 姓名 实验日期&#xff1a; 2017 年 9 月 14 日 报告退发 (订正 、 重做) 一、实验目的 1.复习软件工程的重要概念&#xff0c;熟悉…

软件测试管理之困惑

软件测试管理 最近研究技术的时间少一些&#xff0c;一直在看关于软件测试管理之类的文档&#xff0c;然后整理公司的一些流程。 公司和大多数中国的软件公司一样&#xff0c;有许多的地方不规范&#xff0c;毕竟咱也不是外包&#xff0c;没有规范的流程与管理&#xff0c;呵…

android ViewPager 图片浏览和保存图片

在build.gradle在添加依赖 compile com.alibaba:fastjson:1.1.54.android compile org.ligboy.retrofit2:converter-fastjson-android:2.1.0compile com.bm.photoview:library:1.4.1 compile xiaofei.library:android-data-storage:1.3.0 在layout下创建activity_photo_browser…

mongodb mongoose 常用操作符号 整理

操作符描述$eq等于$or或关系$nor或关系取反$gt大于$gte大于等于$lt小于$lte小于等于$ne不等于$in在多个值范围内$nin不在多个值范围内$all匹配数组中多个值$regex正则&#xff0c;用于模糊查询$size匹配数组大小$maxDistance范围查询&#xff0c;距离&#xff08;基于LBS&#…

oracle 数据库新建实例导入数据

oracle 数据库中如何新建实例&#xff0c;然后导入数据 在工作经常需要建一个库&#xff0c;建个表空间&#xff0c;再新建用户&#xff0c;配置权限&#xff0c;导入数据。 第一步 用&#xff24;&#xff22;&#xff23;&#xff21;新建数据库&#xff0c;这个就下一步好&…

android java判断字符串是否为空和是否是手机号和是否是数字,数字转中文

数字转中文 private String getD(int d) { // String[] str { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" };String[] str {"零",…

UUID工具类及使用

1.工具类: package UUIdtest;import java.util.UUID;public class UUIDUtil {public static String getUUID() {return UUID.randomUUID().toString();}} 2.使用 package UUIdtest;import org.junit.Test;public class TestUUID {Testpublic void test3(){System.out.println(U…