之前只会用图形端的GIT中,命令行的比较陌生,整理下,供自己以后参考

关键的名词:

工作区:工作区

Index / Stage:暂存区

仓库:仓库区(或本地仓库)

远程控制:远程仓库

到项目目录下git init

git init

在文件夹中生成.git文件,后续的git add和git commit操作会将相关的文件存在.git文件中

git pull

git pull <远程主机名> <远程分支名> :<本地分支名>

如果git remote,并且checkout了本地分支和远程分支匹配好了的话,可以直接git pull
git -v 查看remote详细信息。

在工作目录中获取并合并远端仓库的改动。

git remote

git remote rm origin

git remote add origin ssh:// xxxxxxxxxxxx

添加远程仓库,显写rm是因为可能会报错:远程原点已经存在。

git clone

git clone“”

下载文件到本地



git clone -b test https://github.xxxx.git

在克隆的时候直接进行切换分支

git branch

git branch 查看本地分支

git branch -a 查看远程分支



git branch -vv查看本地远程分支的对应关系

git branch -r / -a查看远程/所有分支

** git branch -r 的时候出现: **远端新建了分支,可是这里不显示,首先git fetch 拉取远端最新的改变,再进行git branch -r

git branch xxx创建本地分支

git branch -d xxx删除本地分支

git branch -u origin/ xxx或者git branch --set-upstream-to origin / xxx# g将本地分支与远程分支关联

git checkout

参考:

https://www.cnblogs.com/libertycode/p/5858450.html

https://blog.csdn.net/tanningzhong/article/details/79724488

git checkout xxx切换本地分支

git checkout -b xxx切换本地分支没有就创建

下面这种需要两步

1 git checkout -b dev origin/dev,作用是checkout远程的dev分支,在本地起名为dev分支,并切换到本地的dev分支

2 git checkout dev,切换回dev分支,并开始开发。

不如直接:

git checkout -t origin/2.0.0



如果仅仅是checkout -b本地分支和远程分支同名,没有对应的关系,直接git push 是成功的,应该是在git pull或者git push的时候本地和远程的分支是同名的,自动push到对应的

git add

git add。git add xxx

添加全部修改的代码,或添加部分修改的代码,添加到暂存区索引/阶段

整理:

  git add -A提交所有变化

  git add -u提交被修改(已修改)和被删除(已删除)文件,不包括新文件(新)

  git add。提交新文件(新)和被修改(修改)文件,不包括被删除(删除)文件

git commit

git commit -m“”

提交代码到本地仓库库

 git commit --amend

新的-m commit描述并不能更新,运行此命令可以有机会重新编辑-m的描述

git push

关于gitpush的详细一点的问题:https://blog.csdn.net/dataiyangu/article/details/84988559

git push origin xxx(本地):xxx(远程)

注意”:“和本地、远程之间是没没有空格的!

git push 之前最好Git pull 下

推到远程仓库远程

git push origin xxx

省略远程分支,默认上传到与本地分支对应的仓库,没有会创建

git push origin:xxx

省略本地分支,相当于删除远程分支,因为给了空值

git push origin

本地分支与远程分支有对应关系,都可以省略

git push

本地分支只有一个对应的远程分支,则都可以省略

git remove

git rm -rf 文件夹名

git reset --soft HEAD^

撤销提交到暂存区。

骚操作:追踪远程分支的其他方法

①进入当前项目根目录的’.git’文件夹(请自行设置显示隐藏文件)。打开配置文件(注意不要用window记事本打开)。

② [remote “origin”]这一项的英文修改对应远程GIT中仓库地址。

③ [branch “master”]这一项的英文修改本地分支’主’的远程追踪关系分支,修改直接merge = refs/heads/master为merge = refs/heads/dev

④再次通过命令行查看状态就可以发现你的远程分支已经改掉。

⑤可能出现的问题补充:

没有[branch “master”]这一怎么办?

如果是新项目,没有git pull或git clone,就不会与远程分支建立关系,或者也可以自己添加这一项,但不建议。

注意:有时候git pull报如下的错误:

自动合并失败:修复冲突然后提交结果

是因为git pul = git fetch + git merge

在git merge的过程中存在合并冲突,合并冲突包括:

1.多个代码更改发生在同一行

2.一个提交删除了问价,另一个提交准备编辑该文件

解决:通过git status中的

两者都修改过:XXX可以看到发生冲突合并的文件。

<<<<<<<<<< HEAD

提交一的代码
自己的代码
============

提交二的代码
别人的代码
>>>>>>>>>>分支-a

自己手动修改是要保留提交一还是保留提交二,还是两者都保留或者删除。

如果是文件的话,根据是否需要添加或者删除该文件

git add xxx

git rm xxx

git commit会将rm的操作提交上去,单纯的rm xxx不会将历史提交,可以通过git commit -a进行提交

之后依然是之前的操作git add。git commit -m“”git pull git push

Git的忽略提交规则:

https://blog.csdn.net/dataiyangu/article/details/85236766

git相关操作。的更多相关文章

  1. git相关操作

    git相关命令 基本操作 git init git add xxx git commit -m "first commit" git tag -a V1.0 -m '我的标签' g ...

  2. Git相关操作汇总

    git clone: 正如上图,当我们打开终端的情况下,默认我们所在的目录是在/home/shiyanlou的,大家可以在终端输入以下命令把目录切换到桌面cd  /home/Desktop这个时候输入 ...

  3. Git相关操作及记录

    一.软件 1.下载Git客户端软件 Widows平台: https://github.com/git-for-windows/git/releases/download/v2.13.0.windows ...

  4. Git相关操作三

    1.显示当前分支: git branch 输入上述命令可以显示出分支,*所在的分支为当前分支. 2.新建分支: git branch new_branch new_branch为新建分支的名称,注意该 ...

  5. Git相关操作二

    1.查看HEAD提交: git show HEAD 在git中,目前提交被称为HEAD提交,输入上述命令可以查看当前提交所有文件的修改内容. 2.撤销更改: git checkout HEAD fil ...

  6. git相关操作(githug)

    Level 15  restructure 关卡描述 你添加了一些文件到你的仓库,但现在知道你的项目需要进行调整.创建一个新的文件夹命名为“src”,使用git将所有的".html" ...

  7. 这里有一份热乎乎的git相关操作

    文件操作 git init (添加文件): git status (查看文件状态): git diff (查看修改内容): git rm (删除文件): git add (把文件保存在暂存区): gi ...

  8. Git相关操作四

    1.克隆远程仓库 git clone remote_location clone_name remote_location为仓库地址,clone_name为要克隆到本地的仓库名称. 2.显示对应克隆地 ...

  9. Git相关操作一

    1.将目录变为Git项目: 输入git init将当期目录变为Git项目 git init git项目可以被认为分为三个区域,Working Directory,Staging Area,Reposi ...

随机推荐

  1. Minimum Snap轨迹规划详解(3)闭式求解

    如果QP问题只有等式约束没有不等式约束,那么是可以闭式求解(close form)的.闭式求解效率要快很多,而且只需要用到矩阵运算,不需要QPsolver. 这里介绍Nicholas Roy文章中闭式 ...

  2. CF 1082E Increasing Frequency(贪心)

    传送门 解题思路 贪心.对于一段区间中,可以将这段区间中相同的元素同时变成\(c\),但要付出的代价是区间中等于\(c\)的数的个数,设\(sum[i]\)表示等于\(c\)数字的前缀和,Max[i] ...

  3. Peer模式的多线程程序例子

    Peer模式的多线程程序例子 程序的模型大概是这样的.有一个master(),用来分发任务.有N个多线程的slave用来处理任务. 主程序里可以这样调用: 可以看出,上面这段程序还是依赖于Proces ...

  4. DOS和DDOS攻击

    1.什么是DOS攻击 首先注意这里是DOS(Denial Of Service)攻击,并非DoS.DoS是微软早期的系统版本. DoS即Denial Of Service,拒绝服务的缩写.DoS是指故 ...

  5. C++之手写strlen函数

    代码: int strlen(const char *str){ assert(str!=NULL); intlen=; while((*str++)!='\0') len++; return len ...

  6. jmeter 创建接口测试案例

    1 怎么做接口测试? 一般情况下,由于我们项目前后调用主要是基于http协议的接口,所以测试接口时主要是通过工具或代码模拟http请求的发送和接收.所以我们下面整理了一下使用Jmeter工具进行htt ...

  7. P2216 [HAOI2007]理想的正方形 (单调队列)

    题目链接:P2216 [HAOI2007]理想的正方形 题目描述 有一个 \(a\times b\)的整数组成的矩阵,现请你从中找出一个 \(n\times n\)的正方形区域,使得该区域所有数中的最 ...

  8. 配置Keepalived单实例实现单IP自动漂移接管

    实验要求 ==> 实现Keepalived高可用对之间的故障切换过程,配置的vrrp实例的VIP为192.168.10.66,可以将其配置在网卡别名上. 实验环境 ==> CentOS 7 ...

  9. SpringBoot Controller 中使用多个@RequestBody的正确姿势

    最近遇到Controller中需要多个@RequestBody的情况,但是发现并不支持这种写法, 这样导致 1.单个字符串等包装类型都要写一个对象才可以用@RequestBody接收: 2.多个对象需 ...

  10. linux指令【参考鸟哥的Linux私房菜】

    date指令  显示日期 cal指令 显示日历 bc  计算器  scale+number  显示几位小数  quit退出bc tab键  命令提示  入输入ca,按下tab键,会将所有ca的指令全部 ...