首先就是创建码云(用户名不能是中文),然后新建一个项目(用户名/项目名都不能是中文)。

一、在Windows上安装Git

  1.从http://msysgit.github.io下载,然后按默认选项安装即可,安装完成后,在开始菜单里找到“Git”->“Git Bash”;

  2.安装完成后,还需要最后一步设置,在命令行输入:

    $ git config --global user.name "your name"  (your name由自己命名)

    $ git config --global user.email "email@example.com"  (自己的邮箱)

二、创建版本库

  1.选择一个合适的地方,创建一个空目录

    $ mkdir learngit

    $ cd learngit

    $ pwd    pwd命令用于显示当前目录

  2.通过 git init 命令把这个目录变成git可以管理的仓库:

    $ git init

三、把文件添加到版本库

  1.用命令 git add告诉Git,把文件添加仓库:

    $ git add xx.txt

  2.第二步,用命令 git commit 告诉Git,把文件提交到仓库:

    $ git commit -m "xx.txt"(添加文件)

    -m 后面输入的是本次提交的说明,可以输入任意内容。

  3. $ git status 查看仓库当前的状态(文件有没有被修改过)

    $ git diff xx.txt  可以查看修改内容

  4.提交后,用“git diff head --xxx.txt” 命令可以查看工作区和版本库里面最新版本的区别。

四、版本回退

  1.穿梭前,用 $ git log 可以查看提交历史

    $ git log --pretty=oneline --abbrev-commit

  2.回退到上一个版本:使用 git reset命令

    $ git reset --hard HEAD^

  3.查看文件内容:$ cat xx.txt

  4.回到先前版本:

    $ git reset --hard 3628164(数字为先前版本序列号<不必全写>)

  5.要重返未来,用 git reflog 查看命令历史

五、撤销修改

  1.git checkout --file 可以丢弃工作区的修改:

    $ git checkout -- xx.txt

    命令git checkout -- xx.txt 意思就是把xx.txt文件在工作区的修改全部撤销。

六、删除文件

  1. rm命令删除文件

    $ rm xx.txt

   2.把误删的文件恢复到最新版本:

    $ git checkout -- xx.txt

七、远程仓库

  1.创建SSH Key。在用户目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:

    $ ssh-keygen -t rsa -C "youremail@example.com"(自己的邮箱)

  在用户目录找到.ssh目录,里面有id_rea和id_rsa.pub两个文件,这两个就是SSH Key的密钥对,id_rsa是私钥,id_rsa.pub是公钥。

  2.登陆GitHub,打开“Account settings”,“SSH Keys”页面。然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rea.pub文件的内容,点“Add Key”,你就应该看到已经添加的key。

八、添加远程仓库

  你已经在本地创建了一个git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步。

  1.首先,登陆GitHub,然后,在右上角找到 “Create a new repo” 按钮,创建一个新的仓库 Repository name 填入 learngit,其他保持默认设置,点击“Create repository”按钮,就成功创建了一个新的git仓库。

  2.把本地仓库的内容推送到GitHub仓库

    $ git remote add origin git@github.com:hui/learngit.git

    把上面的hui替换成你自己的GitHub账户名

  3.把本地库的内容推送到远程,用 git push ,实际上是把当前分支master推送到远程。

    $ git push origin master

    $ git push -u origin master  第一次推送master分支的所有内容。

九、从远程仓库克隆

  用命令 git clone 克隆一个本地库:

    $ git clone git@github.com:GitHub名/仓库名.git

    $ git clone https://gitee.com/GitHub名/仓库名.git

十、分支管理

  1.创建name分支,然后切换到name分支

    $ git checkout -b name  (name为创建的新分支名)

    git checkout 命令加上-b参数表示创建并切换

    创建分支:$ git branch name

    切换分支:$ git checkout name

  2.git branch 命令查看当前分支

    $ git branch

    git branch 命令会列出所有分支,当前分支前面会一个*号

  3.git merge 命令用于合并指定分支到当前分支

    $ git merge name

  4. 删除name分支

    $ git branch -d name

  5.用 git log --graph 命令可以看到分支合并图

    $ git log --graph --pretty=oneline --abbrev-commit

  6.--no-ff参数,表示禁用“Fast forward”(这种模式下,删除分支后,会丢掉分支信息)

    $ git merge --no-ff name

十一、Buf分支

  1.修复bug分支时,我们会通过创建新的bug分支进行修复,然后合并,最后删除;当手头工作没有完成时,先把工作现场 git stash 一下,然后去修复bug,修复后,再 git stash pop ,回到工作现场。

    $ git stash  (可以把当前工作现场“后台化”起来,等以后恢复现场后继续工作)

  2.用 git stash list 命令查看先前工作存储路径

    $ git stash list

  恢复先前工作界面:

    一是用 git stash apply 恢复,但是恢复后,stash内容并不删除,你需要用 git stash drop 来删除;

      $ git stash apply

      $ git stash drop

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

      $ git stash pop

十二、Feature分支

  开发一个新feature,最好新建一个分支;如果要丢弃一个没有被合并过的分支,可以通过 git branch -D name强行删除。

十三、多人协作

  1.查看远程库的信息,用 git remote:

    $ git remote

    用 git remote -v显式更详细的信息:$ git remote -v

  2.推送分支,就是把该分支的所有本地提交推送到远程库

    $ git push origin name

  3.创建远程origin的分支到本地

    $ git checkout -b 分知名 origin/分支名

  4.用 git pull 把最新的提交从origin/分知名抓下来,然后在本地合并,解决冲突

    $ git pull

  5.设置本地分支与远程origin/dev分支的链接

    $ git branch --set-upstream 分支名 origin/分支名

  6.从远程抓取分支,使用 git pull ,如果有冲突,要先处理冲突。

十四、标签管理

  1.创建标签

    首先,切换到需要打标签的分支上

      $ git branch

      $ git checkout 分支名

    然后,敲命令 git tag name就可以打一个新标签

      $ git tag v1.0  (v1.0为标签名)

    可以用命令 git tag 查看所有标签:$ git tag

  2.给之前的文件加标签,首先找到历史提交的文件

    $ git log --pretty=oneline --abbrev-commit

    然后敲入:

    $ git tag v0.9 文件的id

  3.用 git show tagname 查看标签信息:

    $ git show v0.9

  4.创建带有说明的标签,用-a 指定标签名,-m指定说明文字

    $ git tag -a v0.1 -m "内容" 3628164

  5.通过 -s 用私钥签名一个标签

    $ git tag -s v0.2 -m "内容" fec145a

    签名采用PGP签名,因此,必须首先安装gpg(GunPG),如果没有找到gpg,或者没有gpg密钥对,就会报错。

  6.操作标签

    1)删除标签

      $ git tag -d v0.1

    2)如果要推送某个标签到远程,使用命令 git push origin tagname

      $ git push origin v1.0

      或者,一次性推送全部尚未推送到远程的本地标签

      $ git push origin --tags

    3)如果标签已经推送到远程,要删除远程标签就麻烦一点,先从本地删除

      $ git tag -d tagname

      然后,从远程删除,删除命令也是push,但是格式如下:

      $ git push origin:refs/tags/tagname

十五、自定义Git

  让git显示颜色,会让命令输出看起来更醒目

    $ git config --global color.ui true

git操作教程的更多相关文章

  1. 使用Git操作GitHub代码入门教程

    GitHub除了网页操作外,还可以借助本地客户端git(或github for windows)来增删修改远程代码.使用Git操作来连接GitHub可以通过Https或SSH方式,使用SSH方式可以免 ...

  2. Git教学教程--学生使用教程(非Git操作版)

    一.注册(必须) 注册完成后由"教师"将你加入高校/企业组即可: 二.查看项目(必须) 三.查看组织 打开后可查看到如下界面,列出的项目为可操作项目 四.查看高校/企业信息 五.上 ...

  3. git操作笔记

    首先本文参考廖雪峰的git学习教程,写的非常好,值得学习. http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b80 ...

  4. Git使用教程【转】

    Git使用教程 一:Git是什么? Git是目前世界上最先进的分布式版本控制系统. 二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是 ...

  5. Git 使用教程

    Git 使用教程 更详细请参考:廖雪峰的官方网站 - Git教程 1. 安装Git客户端软件 Git for Windows http://msysgit.github.io/ 2. 创建版本库 两点 ...

  6. Git版本控制教程

    Git 版本控制入门 不了解Git请查看权威Git书籍 ProGit(中文版). 一份很好的 Git 入门教程,点击这里查看. Git客户端下载地址: 官方Git - TortoiseGit - So ...

  7. git详细教程

    Table of Contents 1 Git详细教程 1.1 Git简介 1.1.1 Git是何方神圣? 1.1.2 重要的术语 1.1.3 索引 1.2 Git安装 1.3 Git配置 1.3.1 ...

  8. 【转】git使用教程

    Git使用教程 一:Git是什么? Git是目前世界上最先进的分布式版本控制系统. 二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是 ...

  9. git使用教程指南

    前言  Git是一个开源的分布式版本控制系统.其核心就在于版本控制.  在实际编码过程中,我们往往会忘记上次对文件的修改内容.若是刚刚修改的还好说,撤销操作即可.但若这是你昨天做的修改并关闭了IDE呢 ...

随机推荐

  1. .NET Core Razor Pages中ajax get和post的使用

    ASP.NET Core Razor Pages Web项目大部分情况下使用继承与PageModel中的方法直接调用就可以(asp-page),但是有些时候需要使用ajax调用,更方便些.那么如何使用 ...

  2. C# (转载)webbrowser专题(参考资料:https://www.cnblogs.com/blogpro/p/11458390.html)

    C# .Net 2.0实例学习:WebBrowser页面与WinForm交互技巧 2 Study Case :高亮显示 上一个例子中我们学会了查找文本——究跟到底,对Web页面还是只读不写.那么,如果 ...

  3. 扫描枪连接zebra打印机打印条码标签无需电脑

    在一些流水线生产的现场,需要及时打印条码标签,由于现场环境和空间限制,无法摆放电脑或者通过连接电脑来打印条码标签的速度太慢, 瑞科条码特提供了一套扫描枪直接连接条码打印机,扫描枪扫描条码之后直接打印输 ...

  4. iOS Privacy Policy

    This application respects and protects the privacy of all users who use the service. In order to pro ...

  5. BASH Shell 文件管理

    BASH Shell 对文件进行管理 ========================================================创建.复制.删除.移动.查看.编辑.压缩.查找 内 ...

  6. Aery的UE4 C++游戏开发之旅(1)基础对象模型

    目录 UObject Actor种类 AActor APawn(可操控单位) AController(控制器) AGameMode(游戏模式) AHUD(HUD) ... Component种类 UA ...

  7. spi-mem: 为SPI存储器生态带来一些一致性

    在本文中,我们将介绍关于spi-mem Linux内核框架的工作,该框架将允许在SPI NOR设备和常规SPI设备以及SPI NAND设备上复用SPI控制器驱动程序. 从SPI到双线.四线.八线SPI ...

  8. Mysql - 读写分离与读负载均衡之Maxscale

    一.概述 常见的高可用方案如MMM和MHA等都将重点放在主库上,一旦主库出现故障,通过这些方案能将主库故障进行转移. 本文将给大家介绍一款由mariadb公司出品的中间件Maxscale,该中间件能实 ...

  9. Docker 私服Registry简介与使用Docker-Compose安装Registry

    场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...

  10. vue2.0 知识体系示意图