版本库 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. 如何使用 Vue 来实现一个项目多平台打包?

    这个需求是源于我们要根据一个项目,针对某些组件(比如:日期 和 下拉组件 ) 和 页面 做终端的兼容,最终需要实现打包成2个平台:h5 和 pc  H5平台,日期组件:                ...

  2. python 多列表生成新的列表[[a,1],[b,2]]与[[a,b],[1,2]]

    (1)将各个列表组合成一个新列表,不做任何数据的改变 示例: test1 = [1,2] test2 = [1,3] test3 = [1,4] 要求生成新的结果:test = [[1,2],[1,3 ...

  3. stm32焊接心得

    早上焊接了一块朋友给的stm32f103zet6的开发板,起初,烙铁怎么都焊补上去,原来是烙铁头已经氧化,只能作罢! 那里一个新的焊接,温度打到450,基本上,焊接就非常顺利,当然温度不要太高,以免弄 ...

  4. Android特定语言 Xtendroid

    Xtendroid是一款Android的领域特定语言,它大大降低样板代码,同时提供巨大的工具支持.Xtendroid利用Xtend transpiler实现,它的特点是能够在Java代码编辑或编译期间 ...

  5. python协程初步---一个迭代器的实现

    一般认为迭代器就是实现了两个方法__iter__和__next__ 先创建这样一个类 from collections import Iterable from collections import ...

  6. BZOJ 2127 / Luogu P1646 [国家集训队]happiness (最小割)

    题面 BZOJ传送门 Luogu传送门 分析 这道题又出现了二元关系,于是我们只需要解方程确定怎么连边就行了 假设跟SSS分在一块是选文科,跟TTT分在一块是选理科,先加上所有的收益,再来考虑如何让需 ...

  7. python自动华 (十一)

    Python自动化 [第十一篇]:Python进阶-RabbitMQ队列/Memcached/Redis  本节内容: RabbitMQ队列 Memcached Redis 1.  RabbitMQ ...

  8. PyPI教程

    Wiki PyPI The Python Package Index, abbreviated as PyPI and also known as the Cheese Shop (a referen ...

  9. UVA323 Jury Compromise

    思路:背包类DP 提交:3次 错因:没有注意得分的上下界导致 RE 显示 WA 题解: 我们很容易的想到把两种分数做一个差,来尽量背到 \(0\) . 那最大化总分呢?这时我们可以用两种分数的和作为物 ...

  10. sql 存储过程记录

    -- exec sp_helptext add_book1 CREATE proc add_book1 --创建存储过程 @DocCode VARCHAR() --创建参数 as BEGIN INSE ...