命令:

git init -> 初始化一个git仓库

git clone -> 克隆一个本地库

git pull -> 拉取服务器最新代码

git fetch –p -> 强行拉取远程代码覆盖本地(同步远程,不止是代码)

git add -> 添加到git仓库

git commit –m “” -> 提交到git仓库

git push -> 将本地代码推送到远程

git push --tags -> 把本地新增的所有tag推到远程

git push origin <tagname> -> 推送标签到远程

git push origin --tags -> 推送所有未推送到远程的标签

git push –u origin master -> 把本地仓库内容推送到远程(将本地master分支内容推送到远程master分支,并本地的master分支和远程的master分支关联起来)

git tag -> 查看所有标签

git tag <name> -> 打一个新标签

git tag <name> <commit id> -> 给指定的版本打标签

git tag –a “name” –m “descript” -> 创建带有说明的标签

git tag –d <tagname> -> 删除本地标签(还未推送到远程)

git show <tagname> -> 查看标签信息

git status -> 查看当前状态

git branch -> 查看分支

git branch –a -> 查看所有分支

git branch -r -> 查看所有分支

git branch <name> -> 创建分支

git branch -d <name> -> 删除分支(分支已经合并)

git branch –D <name> -> 删除没有被合并的分支

git checkout <name> -> 切换分支

git checkout –b <name> -> 创建一个新分支并切换过去

git checkout -- <file> -> 丢弃工作区的修改

git checkout -- . -> 丢弃对所有内容的修改

git checkout . -> 还原本地修改(“.”:前有空格)

git merge <name> -> 合并某分支到当前分支(快速合并)

git merge --no-ff –m “提交说明” dev -> 合并某分支到当前分支(取消快速合并)

git diff -> 查看做了什么修改

git diff HEAD – readme.txt -> 查看工作区和最新版本库的区别

git remote add <name>(origin) <url>(git仓库的名字) -> 关联一个远程库(把本地仓库和远程仓库关联起来)

git remote -> 查看远程仓库信息

git remote –v -> 查看远程仓库地址{2个地址{fetch}{push}}

git log -> 查看提交历史(包含commit id、作者、日期、提交说明)

git log --pretty=oneline -> 查看提交历史并在一行显示,是一种简洁的形式(只包含commit id、提交说明)

git log --graph -> 查看分支合并图

git stash -> 存储工作现场

git stash list -> 查看stash内容

git stash pop -> 恢复工作现场并删除stash内容

git stash apply <stash> -> 恢复工作现场但没有删除stash内容

git stash drop -> 除stash内容

git stash pop -> 回到工作现场

git reset HEAD <file> -> 把暂存区的修改撤销掉(丢弃对暂存区的修改),重新放回工作区(此时已经add到了暂存区)

git reset --hard HEAD^ -> 回退到上一个版本(已经commit)

git reset --hard commit_id -> 回退到某个具体的版本(知道版本号)(已经commit)

git reset . -> 从地暂存区释放(“.”:前有空格)

git reflog -> 查看命令历史(记录每一次命令,找回被删除的版本)

git rm <file> -> 从版本库删除文件

git rebase -> 把本地未push的分叉提交历史整理成直线

git config --global user.name

git config --global user.email

git config --global color.ui true

git config --global alias.ci commit

注意:
1.写完后提交代码 -> 在根文件下打开git Bash

git pull -> 拉取服务器最新带代码

git add . -> 点之前有一个空格 “.”:表示当前文件

git commit –m ‘admin’ -> 写日志admin随意,是日志的内容

git push -> 将本地代码推送到远程

2.想要修改代码

git pull -> 拉取服务器最新代码(因为可能在我们改代码期间有其他人也改了代码并推送到了远程)

3.修改完后再次提交代码

git add .

git commit –m admin

git push

4.在git界面编辑文件

vi readme.txt -> 创建文本文件

按esc键 :wq 退出编辑界面

cat <file> -> 查看文件的内容

rm <file> -> 删除文件

cd -> 进入目录

cd . . /-> 上一级目录

pwd -> 看当前路径在哪

ls -> 当前目录下文件

:wq -> 保存并退出

6.发现pull不下来时,可能不是在当前分支修改的,要checkout到修改的分支,然后pull,然后checkout回自己的分支,merge一下,之后add、commit、push

7.当我们在远端新建了一个分支,如果想要在本地切换远端分支并关联

git checkout origin/fitting -b fitting

8.新创建的项目,远程已经创建一个分支,但是还没和本地相关联时

git clone xxx(项目路径)

cd xxx(项目名称)

git checkout -b fitting origin/fitting(自己分支)

npm install

9.新的项目,远程已经创建一个分支,已经和本地相关联时(如果远端有分支可以直接切换过去)

git clone xxx(项目路径)

cd xxx(项目名称)

git checkout xxx(自己的分支)

npm install

10.如果发现本地并没有自己写的代码,可能是不在自己的分支上

11.git提交的id是一个40位的hash值,我们在平时使用中截取前几位即可,一般7位就可以保证它的唯一性

12.git中HEAD表示当前版本,也就是最新的提交,HEAD^表示上一个版本,HEAD^^表示上上一个版本,如果上100个可以使用HEAD~100

13.如果我们在本地修改了两个文件a、b,没有add也没有commit,此时我们想要丢弃对a文件的修改,但保留对b文件的修改

git checkout a(想要丢弃的文件名)

14.现有a、b两个文件,且内容相同,我们修改了a文件,如果想要b文件中也有a文件中的修改

git checkout b

git merge a

这样我们就将a文件的内容合并到了b文件

15.开发新的项目时,我们肯定要新建分支,如果我们已经在远程库中新建了一个分支,那么可以在本地直接从该远程库中创建分支

git checkout origin/item-1.9-1125(远程分支名) -b item-1.9-1125(本地分支名,无所谓叫什么) : 切远程分支到本地,这样远程分支和本地分支就关联起来了,push的话只会push到该远程   分支

16.当我们改完代码,而且是第一次push,发现push不上去时

git push origin 分支名 -> push到远程

17.如果我们两个人同时完成一个项目,并且在各自的分支开发,上预发环境或者上线的时候我们需要将两人的代码merge到一个分支,此时我们需要新建一个分支,将两人的代码merge到该分支,用这个分支上预发和上线

假定现在两人都开发完,准备合代码的分支叫item-merge

a: 从当前的分支新建分支item-merge

git checkout -b item-merge (已经新建了item-merge分支,该分支包含a的代码)

b: 已经将自己的代码push到item-merge

a: git fetch (拉下新分支)

git pull origin item-merge (该分支为想要拉取代码的分支,这样我们就将别人的代码拉到了我们的这个分支)

18.在17的基础上,如果第一个人先push到后端并部署了,第二个人在push时会提醒先pull,pull之后发现会有冲突,那么我们在后端库中找到对应的文件解决冲突“Accept Current Change”接受当前更改,之后在push

19.别人在远程库中已经新建好了一个分支,我们想要在本地创建该分支

git checkout dev/master

git pull

git branch -r

git checkout origin/xxx -b xxx

git push origin xxx

Git命令以及常见注意事项的更多相关文章

  1. git常用命令图解 & 常见错误

    Git 常用命令 基本命令 git clone.这是一种较为简单的初始化方式,当你已经有一个远程的Git版本库,只需要在本地克隆一份 git clone git://github.com/someon ...

  2. 使用IDEA模拟git命令使用的常见场景

    目录 使用IDEA模拟git命令使用的常见场景 前期准备 新建一个远程仓库 在一个文件夹内建立两个子文件夹作为两个本地仓库的存放位置 本地仓库与远程仓库建立联系 模拟两个用户协同开发的场景(使用IDE ...

  3. 常见的git命令和git->github错误

    相关命令 git remote git remote add origin xxx (xxx为仓库链接) 给这个链接取一个名字,为origin git pull git pull <远程主机名& ...

  4. 一些常见的shell命令和git命令

    shell命令: pwd : (Print Working Directory) 查看当前目录 cd (Change Directory) 切换目录,如 cd /etc ./当前目录  ../上级目录 ...

  5. 小白笔记:Git入门之常见命令

    安装 这里就不介绍安装了,度娘一大堆,找不到可以去找谷爹(前提是你能找到).安装好就跟着笔记进行下一步 准备工作 首先我们需要一个可以 git 的东西,所以我们需要一个文件夹和一个文件 创建文件夹 t ...

  6. 【转】Github轻松上手4-常用的git命令

    转自:http://blog.sina.com.cn/s/blog_4b55f6860100zzih.html 附上一些git的常见命令: •    git remote add origin git ...

  7. Git命令详解

    一个中文git手册:http://progit.org/book/zh/ 原文:http://blog.csdn.net/sunboy_2050/article/details/7529841 前面两 ...

  8. 一天工作所用到的Git命令

    一天工作所用到的Git命令 像大多数新手一样,我一开始是在网上搜索 Git 命令,然后把答案复制粘贴,并没有真正理解它们究竟做了什么. 后来我曾经想过:"如果有一个最常见的 Git 命令的列 ...

  9. 手把手 git建立仓库,远程推拉及常用git命令和部分Linux命令集锦

    方法一:直接在GitHub上建立一个项目,然后git clone (git address name): 此时已经建立好了一个git仓库: cd 文件夹 > 添加文件进去 >git add ...

随机推荐

  1. 详解 JSONP跨域请求的实现

          跨域问题是由于浏览器为了防止CSRF攻击(Cross-site request forgery跨站请求伪造),避免恶意攻击而带来的风险而采取的同源策略限制.当一个页面中使用XMLHTTPR ...

  2. 《Java大学教程》—第11章 案例研究--第1部分

    自测题:1.    图11-1的UML设计中各个类之间的关系.Hostel与TenantList是关联关系:TenantList和PaymentList与ObjectList是泛化关系.TenantL ...

  3. 阿里云windows server 2012 TIME_WAIT CLOSE_WAIT

    新申请的阿里云windows server 2012 R2上部署安装了socket服务器,但客户端连接后老是断开(心跳包没有),服务假死(服务不断也走),客户端申请连接会也会死在cmd下输入指令 ne ...

  4. SQlite源码分析--源网站

    http://huili.github.io/B-treeImplementation/hierarchicalorganization.html SQLite中的B-tree SQLite中每个数据 ...

  5. 机器学习算法总结(六)——EM算法与高斯混合模型

    极大似然估计是利用已知的样本结果,去反推最有可能(最大概率)导致这样结果的参数值,也就是在给定的观测变量下去估计参数值.然而现实中可能存在这样的问题,除了观测变量之外,还存在着未知的隐变量,因为变量未 ...

  6. Python入门学习:1.变量和简单的数据类型

    python入门学习:1.变量和简单的数据类型 关键点:变量.字符串.数字 1.1 变量的命名和使用1.2 字符串1.3 数字1.4 注释 1.1 变量的命名和使用   变量,顾名思义是一个可变的量, ...

  7. oracle等待事件-direct path read/write

    转://http://blog.chinaunix.net/uid-23177306-id-2531235.html 一.direct path read1.与直接读取相关联的等待事件.当ORACLE ...

  8. 【转】FFmpeg获取DirectShow设备数据(摄像头,录屏)

    这两天研究了FFmpeg获取DirectShow设备数据的方法,在此简单记录一下以作备忘.本文所述的方法主要是对应Windows平台的. 1.       列设备 ffmpeg -list_devic ...

  9. 微信硬件平台(七)微信开发--如何存储并定时更新access_token

    https://blog.csdn.net/sct_t/article/details/53002611 我们知道请求access_Token会返回这样一个json,包括access_token(凭证 ...

  10. Java中volatile关键字解析

    一.内存模型的相关概念 大家都知道,计算机在执行程序时,每条指令都是在CPU中执行的,而执行指令过程中,势必涉及到数据的读取和写入.由于程序运行过程中的临时数据是存放在主存(物理内存)当中的,这时就存 ...