版本库 index 暂存区,HEAD 将来1.0,2.0的指向

 多次add,一次commit

每次commit一次,head就指向了最新的版本。head是回退版本的时候会用到

一般有开发的分支,master一般是上线的分支,开发的分支没问题以后,合并到master分支

---------------------------------------------------------------------------------------------

码云地址:https://gitee.com/pei_miner/     q

github:https://github.com/peixm/     q

1.git clone url   从码云上面克隆到本地,或者从github上面克隆到本地

2.git status   查看修改的状态   文件在没add之前是红色,add完之后是绿色

3.git add ./ 把本地修改添加到本地的暂存区   README.md

4.git commit -m "提交描述"    把本地的修改提交到本地的版本库里面,.git

5.git push      本地的修改提交到远程仓库   码云或者github

6.git pull       从远程拉取最新的代码

7.git config --global credential.helper store     这一步会在用户目录下.gitconfig文件最后添加

   [credential]

      helper = store

  这样以后就不需要在拉取代码的时候每次输入账号和密码

8.git log     查询操作的日志(head指向了当前的commit)

 9(1).git init      初始化一个本地仓库

9(2).git remote add origin url     添加远程仓库,把本地库和远程仓库关联在一起,然后执行git pull origin master --allow-unrelated-histories,在提交git push origin master

然后在远程仓库上刷新,看看有没有新增的test.txt文件

10. git branch --set-upstream-to=origin/master    关联分支的话,这样不需要在pull和push的时候,加后面的 origin master

分支的操作:

11.1 git branch     查看当前本地库的分支

 11.2 git branch -r     查看远程库的分支

 11.3 git branch -a    查看远程和本地所有的分支     绿色是本地分支,红色是远程分支

 11.4 git branch branch_name     创建一个新的分支

 11.5 git checkout branch_name   切换分支

切换分支,向html里面增加一句话:“this is branch dev”

然后查看html文件,里面是:

然后在切回到master分支,里面还是显示一行:

11.6  git checkout -b branch_name   创建并切换分支

 11.7  git merge branch_name     合并某分支到当前分支,先切换到dev分支,然后新建一个test.txt

在切回到master分支上以后,看文件,有了test.txt 文件。

重新add在commit,pull和push,在查看远程库

11.8 git push origin 本地分支:远程分支       提交并创建一个远程分支   远程分支:本地分支

然后查看码云上面是不是多了一个dev分支

 11.9  git checkout -b 本地分支   origin/new(远程分支)      拉取本地没有的远程分支

首先新建一个new分支,然后,增加一个new.txt,,然后直接执行git branch -a 是看不到这个远程分支的,必须是git pull origin new才可以

11.10   git branch -d branch_name   删除本地分支    提示:不可以删除当前分支,只可以删除其他分支

 11.11  git branch -dr [origin/branch_name]    删除远程分支,r表示remote,但是删除的仅仅是跟踪关系,远程库上还有,只是本地和远程的关系断开了而已,

远程库刷新看,dev分支还在

11.12 git push origin --delete branch_name   彻底删掉远程的库       或者是 git push origin : 远程分支(new)

去码云上看,已经没有了这个new分支

 12. 解决冲突

先切回到master分支,然后在远程仓库修改一下,把p标签里面的第一行修改成 用户a修改a,提交保存

然后在本地的同样的地方,我改成  <p class="p1"><span class="s1">我自己也修改一下</span></p>

然后打开那个文件以后,看到了冲突的地方:

如果,我觉得我的代码比他的好,那么我可以直接在文件里面把他的删掉,然后替换成我的,重新add,commit,pull ,push

然后刷新看线上,是自己修改的

这只是一行冲突,如过冲突多的话,怎么解决,首先去码云上面多修改几个地方:

然后,在自己的本地修改几个地方,然后git add ./    git commit -m "info"    git pull origin master,这样的话会提示冲突,解决冲突通过工具来解决,用pycharm。

右键点击冲突的文件,然后点击git--resolve conflict。  如果自己的好,那么就选择accept yours,如果人家的好,就选择accept theirs,如果都不确定需要,那么就选择merge。如果要自己的就点击>>,不要自己的就点击X。如果自己的和别人的都要,就都点击>>,然后中间就会有合并后的结果。然后再次git add ./    git commit -m "info"    git pull origin master,git push origin master

 

 13.版本追溯的处理:

首先查看提交的记录    git log

git reset --hard HEAD^     回退到上一个版本

git reset --hard HEAD^^    回退到上上个版本

git reset --hard number     回退到指定的版本

git reflog                          把所有的操作记录都保留起来

git push -f origin master    危险的强制推送

14.在git commit之后,正想着push呢,突然发现有些东西我们不想push上去

这个时候我们想把提交的撤销掉,重新提交我们想提交的,push我们想push的。

1、找到之前提交的git commit的id

git log

找到想要撤销的id。

2、git reset --hard id

完成撤销,同时将代码恢复到前commit_id 对应的版本,强制回滚到之前的版本。

3、git reset id

完成撤销,停留在当前版本,不对代码修改进行撤销,可以直接通过git commit重新提交对本地代码的修改。

15.撤销git add 添加的多余文件 
这样的错误是由于, 有的时候 可能

git add . (空格+ 点) 表示当前目录所有文件,不小心就会提交其他文件

git add 如果添加了错误的文件的话

撤销操作

git status 先看一下add 中的文件 
git reset HEAD 如果后面什么都不跟的话 就是上一次add 里面的全部撤销了 
git reset HEAD XXX/XXX/XXX.java 就是对某个文件进行撤销了

4.git的基本命令的更多相关文章

  1. Git的基本命令介绍

    Git的安装 进入官网下载系统所需要的版本  官网地址:https://git-scm.com/downloads 点击下载按钮官方网站一般会根据操作系统的自动下载所需要的Git版本. 下载完成后,点 ...

  2. Git使用- 基本命令

    $ git config --global user.name "Your Name"   全局 name 设置 $ git config --global user.email ...

  3. Git Shell 基本命令(官网脱水版)

    用户信息 当安装完 Git 应该做的第一件事就是设置你的用户名称与邮件地址. 这样做很重要,因为每一个 Git 的提交都会使用这些信息,并且它会写入到你的每一次提交中,不可更改: $ git conf ...

  4. git 的基本命令

    ...git init ...git add ...git commit -m "first commit" ...git remote add origin https://gi ...

  5. Git: 一些基本命令

    1.快速获取远程项目 1) git clone xxx.git // 如:git clone git://git.kernel.org/pub/scm/git/git.git 2) git clone ...

  6. 【Git】基本命令使用

    init: 1 git init 添加远程分支: 1 git remote add <远程主机名>  <远程主机地址url> 例如:git remote add origin  ...

  7. Git之基本命令

    先介绍一下Git: Git是一个分布式的版本控制系统,最初由Linus Torvalds编写,用作Linux内核代码的管理.在推出后,Git在其它项目中也取得了很大成功,尤其是在Ruby社区中.目前, ...

  8. 关于git的基本命令

    git环境的搭建这里就先不说.本篇主要是普通开发工作者在开发过程中所使用的命令. 作为开发者,别人搭建git服务器之后,你呢就配置个人的客户端: 设置Git的配置变量,这个是一次性的工作.即这些设置会 ...

  9. Git操作基本命令

    分支开发原则: 如果本地dev分支有修改,则需要先切换到master分支,把本地分支的修改merge回master(git merge dev),然后在master上把合并后的内容push到maste ...

  10. git常用基本命令

    一定要以管理员的身份打开,否则有些命令不能用,比如ssh -T git@github.com(查看配置ssh是否成功)@初始化git git config --global user.name ruo ...

随机推荐

  1. 编译安装PTLib和H.323 Plus Core

    下载PTLib和H.323 Plus Core,官方网站很容易下载:http://www.h323plus.org/source/. 我下载这两个库后存放到目录/home/ynq/h323plus下, ...

  2. Codeforces Round #554 (Div. 2) F2. Neko Rules the Catniverse (Large Version) (矩阵快速幂 状压DP)

    题意 有nnn个点,每个点只能走到编号在[1,min(n+m,1)][1,min(n+m,1)][1,min(n+m,1)]范围内的点.求路径长度恰好为kkk的简单路径(一个点最多走一次)数. 1≤n ...

  3. 巧用getdate()测试你的sql执行效率

    在开发项目的过程中,我们会遇到各种各样的问题,有时候由于业务逻辑复杂,我们写的sql语句会很长很长,甚至会嵌套很多层,这个时候我就会担心sql执行时间会不会太长了?会不会有什么问题导致执行效率变慢?经 ...

  4. yii行为和过滤器

    行为是对类的功能进行了扩展,针对开闭原则,为了类的扩展而生,不去修改类原有的代码. yii的行为需要继承yii\base\Behavior,这就好比你要给人安装一个胳膊,这个胳膊得是人的,而不能是老虎 ...

  5. Air Raid POJ - 1422 【有向无环图(DAG)的最小路径覆盖【最小不相交路径覆盖】 模板题】

    Consider a town where all the streets are one-way and each street leads from one intersection to ano ...

  6. 异步时钟FIFO(一)

    FIFO一般用于通过两个不同时钟域的数据传输.一个水池有进和出两个通道,由于进出口水流不一致所以需要水池加以缓冲.堆栈也是相当于水池的作用.如果输入端不是连续的数据流,可以通过堆栈来调节使数据以稳定的 ...

  7. Luogu4191 [CTSC2010]性能优化【多项式,循环卷积】

    题目描述:设$A,B$为$n-1$次多项式,求$A*B^C$在系数模$n+1$,长度为$n$的循环卷积. 数据范围:$n\leq 5*10^5,C\leq 10^9$,且$n$的质因子不超过7,$n+ ...

  8. centos7下glances系统监控的安装

    yum install epel* -y yum install python-pip python-devel -y yum install glances -y 启动>>glances

  9. 畅通工程续(HDU 1874)(简单最短路)

    某省自从实行了很多年的畅通工程计划后,终于修建了很多路.不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行走的距离要短很多.这让行人很困扰. 现在 ...

  10. HDU 1160 FatMouse's Speed ——(DP)

    又是那个lis变形的题目. 但是不好定义严格的比较符号,因此只能n^2去做.值得注意的一个是要先排序,因为可能可以先选后面的再选前面的,先排序的话就能够避免这个问题.但是要注意,因为要输出路径,所以要 ...