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;还有左孩子的…

软件测试管理之困惑

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

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…

什么是ARP

ARP是地址转换协议&#xff08;Address Resolution Protocol&#xff09;的英文缩写&#xff0c;它是一个链路层协议&#xff0c;工作在OSI模型的第二层&#xff0c;在本层和硬件接口间进行联系&#xff0c;同时对上层&#xff08;网络层&#xff09;提供服务。 二层的以太…

项目管理工具strber

1.Streber背景介绍&#xff1a; Streber是一个基于WEB的在线项目协调工具&#xff0c;它融合了wiki的思想和项目协作管理机制&#xff0c;成为了一个适用于小型团队的可以贯穿真个项目生命周期的项目协作和管理工具。 Streber的出现的历史并不长&#xff0c;作者为德国人&…

外星人Alienware Area-51 R2原厂Win10预装系统

大三角外星人Area 15 R2原装出厂WINDOWS10系统 链接&#xff1a;https://pan.baidu.com/s/1JwDuHx1j7fRABtIpLmKW_g?pwdq4pd 提取码&#xff1a;q4pd 原厂系统自带所有驱动、外星人出厂主题壁纸、专属LOGO标志、Office办公软件、MyAlienware、外星人控制中心等预装程序 文…

Net基础篇_学习笔记_第十二天_面向对象继承(字符串_字符串的不可变性)

字符串的特点之一&#xff1a; 字符串的不可变性 1)、字符串的不可变性当你给一个字符串重新赋值之后&#xff0c;老值并没有销毁&#xff0c;而是重新开辟一块空间存储新值。 当程序结束后&#xff0c;GC扫描整个内存&#xff0c;如果发现有的空间没有被指向&#xff0c;则立即…

oracle 创建新库时报错:enterprise manager 配置失败

oracle新建库时遇到的问题总结 昨天新建库时按正常的操作&#xff0c;一路下来&#xff0c;当新建到85%时弹出错误如下图&#xff1a; 环境&#xff1a;2003 server 64bit  服务器&#xff08;&#xff29;&#xff22;&#xff2d;&#xff09; oracle 10G 64bit 原有二个…

iview form 表单 自定义参数验证 validate

需求&#xff0c;使用的是iview框架的Form组件&#xff0c;一般简单input类型数据&#xff0c;使用简单的验证配置就可以达到效果。如官方的写法。 iview 表单验证 地址 https://www.iviewui.com/components/form iview 默认验证库 async-validator 地址 https://github.com/y…

小程序 地图 开发 组件 覆盖物

我的需求是 1、显示地图 2、在地图上增加覆盖物 3、地图距离底部边距有90rpx 主要使用到原生组件map和cover-view 实现效果&#xff1a; 代码我是使用的mpvue开发。源码如下&#xff1a; <template><div class"map-clock"><map id"map"…