一、初始化


git config --global user.name "username"

设置git用户名

git config --global user.email "email"

设置git邮箱号

git init

通过命令 git init 把当前目录变成git管理的本地仓库

git add filename

把文件存到暂存区

git commit -m "note"

把文件提交到本地仓库


二、常用操作


git status

查看当前库的git状态

git diff filename

查看文件改动状态

git log

查看git操作日志

git reset --hard HEAD~N

回退git版本到第N个版本前

git reflog

可查看git每步操作的版本号(查看完成按Q可退出查看)

git reset --hard verNum

git到指定版本(根据版本号)

git checkout -- filename

丢弃工作区的修改。例如修改了文档还没有git add。add后无法撤销修改。

rm filename

删除文件,删除后git checkout -- filename可以撤销删除,恢复文件。


三、远程仓库的绑定使用


ssh-keygen -t rsa -C "email"

创建SSH私人密钥和公共密钥

git remote add origion https://github.com/aaa/PC1.git

利用上一步的PC的公共密钥

先在github个人账户上New SSH Key;

再建立新仓库New repository,得到仓库的http地址后,

将github库与本地PC绑定,需在git输入github的账号和密码。

git push -u origion master

把当前分支master推送到远程(github仓库),首次加-u。

git push origion master

本地与远程仓库绑定后,修改本地后,利用该指令同步到远程仓库。

git clone https://github.com/aaa/PC2.git

从远程仓库克隆到本地。


四、分支操作


git branch

查看git所有分支。

git checkout -b 分支名

创建并切换到这个分支。相当于git branch bran1 和 git checkout bran1这两条指令。

git merge branch

现在我们想要把branch分支上增加的内容合并到当前分支,可以在当前分支(任何分支皆可)上使用该命令。

git branch -d bran2

删除某个分支。

git pull

获取远程分支上的最新内容


五、常用流程

使用Git提交文件到本地库和远程库:

1:使用 git add filename把文件添加到暂存区。

2:使用git commit -m "note"提交更改,实际上就是把暂存区的所有内容提交到当前master分支上。

3:使用git push origion master:把本地master分支的最新修改交托给GitHub的origin分支,完成这一步才真正意义上拥有了分布式版本库。(集中式、分布式)

分支管理策略:

通常我们合并分支的时候,Git一般是用Fast forward模式,这种模式下,删除分支之后,会丢掉分支信息,现在我们来使用--no--ff来禁用Fast forward模式。

1:创建一个dev分支。git checkout -b dev

2:修改README.md内容。

3:添加到暂存区、工作区。git add README.md \ git commit -m "change1"

4:切换回bran1分支。git checkout bran1

5:合并dev分支,使用命令:git merge --no--ff -m "note" dev

6:删除dev之后我们发现在最后的log中还有dev的操作。git branch -d dev

7:查看历史记录。git log

8:分支策略:master主分支应该是非常稳定的,也是用来发布的新版本,一般情况下干活都不在master分支上干,都是在新建的分支上,干完之后需要发布,或者说新建分支代码稳定之后可以合并到主分支master上。

bug管理策略:

1:隐藏当前分支下的工作状态 git stash

2:查看git状态是否干净。git status

3:切换到bug所在的分支 。gitcheckout branch

4:在bug分支上新建分支。git checkout -b branbug

5:修改bug代码

6:提交修改后的文件。git add filename\ git commit -m "fix bug xxx"

7:切换到bug所在的分支。git checkout branch

8:合并刚才的修复。git merge --no--off -m "note" branchbug

9:删除修复bug的临时分支。git branch -d branchbug

10:切换到第一步正在工作状态的分支。git checkout bran1

11:查看隐藏的工作现场。git stash list

12:恢复的方式有两种:

a、git stash apply,这种恢复方式恢复后stash内容并不删除,需要使用git stash drop来删除。

b、另一种方式是使用git stash pop,恢复的同时把stash内容也删除了。

多人合作:(本地master分支) 对应 (远程origin分支)

1:查看远程信息 git remote

2:查看远程库详细信息 git remote -v

3:拉取最新origion到当前分支 git pull

4:修改内容

5:推送自己的更改到origion :git push origion branch-name


六、note

如果我们改了本地文件,没有commit到某个分支A,那么在分支A下,cat filename是看不到本地改动 的。且在branch1下的commit,在branch2上cat filename也看不到。

一般情况下master分支是主分支,因此要时时刻刻与远程同步;一些修复的bug分支是不需要推送到远程的,只要先在本地合并到主分支上,然后把主分支master推送到远程去即可。


Git指令小结的更多相关文章

  1. 第一章 git指令与设置

    相关指令: 1.从远程的master分支上创建新的分支,此时新分支内容与master分支内容相同: git checkout master; git branch newbranch; git che ...

  2. 使用git指令下载github仓库代码(笔记)

    通过Git指令下载源码 Git概念说明 ​ 三种状态:修改状态.暂存状态和Git仓库 ​ 基本的Git工作流程: ​ 在工作目录中修改文件 ​ 暂存文件,将文件的快照放入暂存区域 ​ 提交更新,找到暂 ...

  3. 工作中常用Git指令操作

    常用Git指令总结 前阵子有几天好不顺,可谓是喝水都呛着,更何况被Git给呛着了,还不轻,哈哈.所以打算总结一下自己在工作使用到Git相关的东西以及和大家探讨使用GIt的心得体会.于是,关于Git的的 ...

  4. git 指令如何撤销一次merge

    在使用git指令时难免会发生错误的merge的情况,那么如何在这种情况下回退到错误发生之前的情况? git reflog 指令显示历史的操作 4457e43 HEAD@{0}: reset: movi ...

  5. git 指令记录

    由于之前一直用svn 用git也是用图形化的工具 还是要了解一下git指令 因为都是版本控制工具 有很多相似之处 所以理解起来也比较轻松 仓库: github上面的项目 工作目录下面的所有文件都不外乎 ...

  6. git指令总结及常见问题积累与解决方案

    git指令总结及常见问题积累与解决方案 git初始化一个项目并且长传到服务器后端步骤: 1.本地文件操作 通过:git init初始化化一个项目  会出现一个隐藏文件 ,可以文件夹属性设置进行查看,此 ...

  7. git指令-未完待更新

    git指令 1. $ git config --global user.name "Your Name" $ git config --global user.email &quo ...

  8. git 指令笔记

    狂躁,太狂躁!!赶上过年,赶上自己的懒癌,12月底就学完的教程直到今天才整理笔记,中途沉默在游戏中..... 只给出Windows下git指令操作,推荐大家去廖雪峰前辈那里学习(百度搜索:廖雪峰的官方 ...

  9. Git学习小结 ~ Lethe's Blog

    学习自https://www.liaoxuefeng.com/wiki/896043488029600 一.创建版本库 (1) git init 初始化一个Git仓库 (2)添加文件到Git仓库,分两 ...

随机推荐

  1. LeetCode随缘刷题之Java经典面试题将一个字符串数组进行分组输出,每组中的字符串都由相同的字符组成

    今天给大家分享一个Java经典的面试题,题目是这样的: 本题是LeetCode题库中的49题. 将一个字符串数组进行分组输出,每组中的字符串都由相同的字符组成 举个例子:输入["eat&qu ...

  2. Spring系列12: `@Value` `@Resource` `@PostConstruct` `@PreDestroy` 详解

    本文内容 @Resource实现依赖注入 @Value详细使用 @PostConstruct @PreDestroy的使用 @Resource实现依赖注入 前面章节介绍了使用@Autowired注入依 ...

  3. 使用IWebBrowser2操控浏览器页面测试(IE)

      测试一下在IE浏览器界面中插入代码测试,采用寻找窗口的方式获取Internet Explorer_Server句柄.   写的时候参考了很多网上的资料,有些地方不大适用就稍微修改了一下. Send ...

  4. shell脚本部署zookeeper-3.4.10 [含注释]

    文章目录 zk_install.sh conf/config conf/zoo_template.cfg package zk_install.sh #!/bin/bash base_path=$(c ...

  5. IPMI日常使用

    重启ipmi: ipmitool mc reset  <warm|cold>  warm表示软重启: cold表示硬重启:   设置IPMI地址: ipmitool lan set 1 i ...

  6. 科普IIS是什么?IIS介绍!

    1.Microsoft IIS 是允许在公共Intranet或Internet上发布信息的Web服务器.Internet Information Server通过运用超文本传输协议(HTTP)传输信息 ...

  7. 防世界之Web_warmup

    题目: 啥都没有,右键打开页面源代码查看一下  发现source.php源文件,输入http://111.200.241.244:53776/source.php看看 <?php    high ...

  8. CobaltStrike逆向学习系列(6):Beacon sleep_mask 分析

    这是[信安成长计划]的第 6 篇文章 关注微信公众号[信安成长计划] 0x00 目录 0x01 C2Profile 分析 0x02 set userwx "true" 0x03 s ...

  9. PPPoE协议测试——网络测试仪实操

    前言: 与传统的接入方式相比,PPPoE具有较高的性能价格比,它在包括小区组网建设等一系列应用中被广泛采用,目前流行的宽带接入方式 ADSL 就使用了PPPoE协议. 随着低成本的宽带技术变得日益流行 ...

  10. 计算机网络-IP篇

    目录 IP 基本认识 IP地址 IP 地址的分类 公有 IP 地址与私有 IP 地址 IP 地址与路由控制 IP 分⽚与重组 IPv6 基本认识 IPv4 ⾸部与 IPv6 ⾸部 IP协议 DNS A ...