4.git的基本命令
版本库 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的基本命令的更多相关文章
- Git的基本命令介绍
Git的安装 进入官网下载系统所需要的版本 官网地址:https://git-scm.com/downloads 点击下载按钮官方网站一般会根据操作系统的自动下载所需要的Git版本. 下载完成后,点 ...
- Git使用- 基本命令
$ git config --global user.name "Your Name" 全局 name 设置 $ git config --global user.email ...
- Git Shell 基本命令(官网脱水版)
用户信息 当安装完 Git 应该做的第一件事就是设置你的用户名称与邮件地址. 这样做很重要,因为每一个 Git 的提交都会使用这些信息,并且它会写入到你的每一次提交中,不可更改: $ git conf ...
- git 的基本命令
...git init ...git add ...git commit -m "first commit" ...git remote add origin https://gi ...
- Git: 一些基本命令
1.快速获取远程项目 1) git clone xxx.git // 如:git clone git://git.kernel.org/pub/scm/git/git.git 2) git clone ...
- 【Git】基本命令使用
init: 1 git init 添加远程分支: 1 git remote add <远程主机名> <远程主机地址url> 例如:git remote add origin ...
- Git之基本命令
先介绍一下Git: Git是一个分布式的版本控制系统,最初由Linus Torvalds编写,用作Linux内核代码的管理.在推出后,Git在其它项目中也取得了很大成功,尤其是在Ruby社区中.目前, ...
- 关于git的基本命令
git环境的搭建这里就先不说.本篇主要是普通开发工作者在开发过程中所使用的命令. 作为开发者,别人搭建git服务器之后,你呢就配置个人的客户端: 设置Git的配置变量,这个是一次性的工作.即这些设置会 ...
- Git操作基本命令
分支开发原则: 如果本地dev分支有修改,则需要先切换到master分支,把本地分支的修改merge回master(git merge dev),然后在master上把合并后的内容push到maste ...
- git常用基本命令
一定要以管理员的身份打开,否则有些命令不能用,比如ssh -T git@github.com(查看配置ssh是否成功)@初始化git git config --global user.name ruo ...
随机推荐
- 2018/7/31-zznuoj-问题 A: A + B 普拉斯【二维字符串+暴力模拟+考虑瑕疵的题意-0的特例】
问题 A: A + B 普拉斯 在计算机中,数字是通过像01像素矩阵来显示的,最终的显示效果如下: 现在我们用01来构成这些数字 当宝儿姐输入A + B 时(log10(A)<50,log10 ...
- spring-mybatis+spring整合
整合之前回忆一下spring和mybatis分别做了什么: spring 通过注解/xml配置,实现AOP和DI DI: 接口实现类中, 将接口私有化,从容器中读取,而不是new一个 UserDao ...
- JAVA遇见HTML——JSP篇(JSP状态管理)
案例:Cookie在登录中的应用 URL编码与解码的工具类解决中文乱码的问题,这个工具类在java.net.*包里 编码:URLEncoder.encode(String s,String enc)/ ...
- springboot @async 无效问题
在@SpringBootApplication启动类 添加注解@EnableAsync 异步方法使用注解@Async ,返回值为void或者Future 切记一点 ,异步方法和调用方法一定要写在不同的 ...
- Tslib配置文件ts.conf介绍
Tslib 的配置文件ts.conf 是个十分重要的部分, module_raw inputmodule pthres pmin=1module variance delta=30module dej ...
- BZOJ 3218 A + B Problem (可持久化线段树+最小割)
做法见dalao博客 geng4512的博客, 思路就是用线段树上的结点来进行区间连边.因为有一个只能往前面连的限制,所以还要可持久化.(duliu) 一直以来我都是写dinicdinicdinic做 ...
- Codeforces Round #596 (Div. 2, based on Technocup 2020 Elimination Round 2) D. Power Products
链接: https://codeforces.com/contest/1247/problem/D 题意: You are given n positive integers a1,-,an, and ...
- Shell 01 shell概述
1.查看shells:/etc/shells /bin/sh /bin/bash /sbin/nologin /usr/bin/sh /usr/bin/bash /usr/sbin/nologin / ...
- 路由器配置——基于链路的OSPF的MD5口令认证
一.实验目的:掌握基于链路的OSPFMD5口令认证 二.拓扑图: 三.具体步骤配置: (1)R1路由器的配置 Router>enable Router#configure terminal En ...
- 路由器配置——基于区域的OSPF,MD5认证
一.实验目的:掌握OSPF基于区域的MD5认证 二.拓扑图: 三.具体步骤配置 (1)R1路由器配置 Router>enable Router#configure terminal Enter ...