git逻辑和基本命令
提交和推送的区别
提交(commit):把您做的修改,保存到本地仓库中
推送(push):把您本地仓库的代码推送至服务器(一般是远程服务器及gitlab或github)
拉取和获取的区别
git pull 从远程拉取最新版本 到本地 自动合并 merge
不带分支地址默认拉取所在分支的代码,正常:git pull origin master
git fetch 从远程获取最新版本 到本地 不会自动合并 merge 正常操作如下:
git fetch origin master
git log -p master ../origin/master
git merge orgin/master
分支和合并
git branch XXX 创建分支(代码会从master复制过来)
git checkout XXX 切换分支(代码也会切换成XXX的代码。
如果xxx分支代码有后续提交过和mster不一样,这时就全不一样了,
不会合并哦,别搞错,跟master代码没关系)
git merge XXX 合并XXX分支(假如你现在master,这时master就合并了XXX分支
的代码,XXX分支代码还是原来的代码)
合并代码有两种方案:
1.主分支合并xxx分支
git fetch origin xxxgit log -p master..origin/xxxgit merge origin/xxx首先你必须在master分支上,如果你在ccc分支上,那就是ccc分支合并xxx分支的代码【gitlab上合并到主分支可以申请】,merge是合并了代码和提交路径等等
2.拉取的方法
git pull xxx 拉取xxx的代码过来,并合并
区别:git pull = git fetch + git merge
拉取线上代码,覆盖本地已改的代码或恢复误删文件,及恢复线上版本
git fetch 或者 git fetch --all
git reset --hard XXX 例如:git reset --hard branch_y (然后git pull 可以更新线上代码,避免冲突)
版本回退
1.假设有2个提交记录
commit def5adef853da4cc05752bdb36577c127be71ba5
Author: 132982jianan <1072772483@qq.com>
Date: Thu Dec 28 16:01:36 2017 +0800
add data to 1.txt
commit f36801544670e00b2f59a28e19017d2786c4085e
Author: 132982jianan <1072772483@qq.com>
Date: Thu Dec 28 15:59:46 2017 +0800
init 1.txt
(END)
2.现在回到最开始的那一个提交
git reset --hard f36801544670e00b2f59a28e19017d2786c4085e
3.查看日志,就会发现只剩下一个提交了
git log
commit f36801544670e00b2f59a28e19017d2786c4085e
Author: 132982jianan <1072772483@qq.com>
Date: Thu Dec 28 15:59:46 2017 +0800
init 1.txt
(END)
4.这个时候,发现回退版本错了,那么就用git reflog查看提交记录
git reflog
f368015 HEAD@{0}: reset: moving to f36801544670e00b2f59a28e19017d2786c4085e
def5ade HEAD@{1}: reset: moving to def5ade
f368015 HEAD@{2}: reset: moving to f36801544670e00b2f59a28e19017d2786c4085e
def5ade HEAD@{3}: commit: add data to 1.txt
f368015 HEAD@{4}: commit (initial): init 1.txt
5.找出想要回退的版本,进行回退
恢复
git reset --hard def5ade
在工作目录中初始化新仓库
要对现有的某个项目开始用 Git 管理,只需到此项目所在的目录,执行:
$ git init
从现有仓库克隆
克隆仓库的命令格式为 git clone [url]
$ git clone git://github.com/schacon/grit.git
git 从远程仓库获取所有分支
git branch -r | grep -v '\->' | while read remote; do git branch --track "${remote#origin/}" "$remote"; done
git fetch --all
git pull --all
git添加忽略或删除
window 右键git里添加忽略

linux :
vi .gitignore
写入你要忽略的文件或文件夹
git保留账号密码
在项目目录里(及git clone下来的项目的里面)
vi .git/config
然后添加
[credential]
helper = store
接着
git pull
输入用户名、密码自动保存
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 ...
随机推荐
- 你真的了解word-wrap和word-break的区别吗?
这两个东西是什么,我相信至今还有很多人搞不清,只会死记硬背的写一个word-wrap:break-word;word-break:break-all;这样的东西来强制断句,又或者是因为这两个东西实在是 ...
- asp.net webapi 获取报文体的问题
用这种方法: var data=await Request.Content.ReadAsStringAsync(); 一般都无法获取到内容.原因是内部的流对象已经到了最后面.要获取到里面的需要把流的位 ...
- django数据库迁移报错
当输入C:\Users\太阳之泪\b2p\my_pro>python manage.py makemigrations shop 出现一下情况 然后输入C:\Users\太阳之泪\b2p\my_ ...
- Java读取一个文本文件拼接成一个字符串(readFileToString)
import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.I ...
- pythonのdjango 缓存
由于Django是动态网站,所有每次请求均会去数据进行相应的操作,当程序访问量大时,耗时必然会更加明显,最简单解决方式是使用:缓存,缓存将一个某个views的返回值保存至内存或者memcache中,5 ...
- [Kubernetes]资源模型与资源管理
作为 Kubernetes 的资源管理与调度部分的基础,需要从它的资源模型说起. 资源管理模型的设计 我们知道,在 Kubernetes 里面, Pod 是最小的原子调度单位,这就意味着,所有和调度和 ...
- git知识总结-2.git基本操作之操作汇总
0.前言 一般来说,日常使用只要记住下图6个命令,就可以了.但是熟练使用,恐怕要记住60-100个命令. 上图分别为: Workspace:工作区 Index / Stage:暂存区 Reposito ...
- TestNg框架基础入门
TestNg框架简介: TestNG,即Testing, Next Generation,下一代测试技术,是一套根据JUnit 和NUnit思想而构建的利用注释来强化测试功能的一个测试框架.TestN ...
- Python——字符串
p ython——字符串 ①加法 连接两个字符串 ②乘法 复制字符串 python——转义字符 \n 换行 \' 单引号 \'' 双引号 \\ 反斜杠 raw字符串:无视转义字符 转义: 字符串 ...
- MongoDB数据库(二):增删查改
MongoDB数据库的增删查改 1.插入数据 语法: db.集合名称.insert(document) db.table_name.insert({name:'gj',gender:1}) db.ta ...