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

一、在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. 在Docker中跑Hadoop与镜像制作

      重复造轮子,这里使用重新打包生成一个基于Docker的Hadoop镜像:   Hadoop集群依赖的软件分别为:jdk.ssh等,所以只要这两项还有Hadoop相关打包进镜像中去即可: 配置文件准 ...

  2. 原生js复制粘贴上传图片前后台代码,兼容firebox,chrome, ie11,亲测有效

    需求:粘贴上传图片,截图工具,右键粘贴,或者ctrl+v粘贴 方法1:可直接套用富文本框的图片上传功能,完成复制粘贴 缺点:麻烦,样式难控制 方法2:用原生js完成,以下案例基于此,样式请自己动手调整 ...

  3. Nginx配置实例-动静分离实例:搭建静态资源服务器

    场景 Nginx入门简介和反向代理.负载均衡.动静分离理解: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/102790862 U ...

  4. Linux上用IP转发使内部网络连接互联网

    IP转发的概念: 使 Linux 机器像路由器一样将数据从一个网络发送到另一个网络.所以,它能作为一个路由器或者代理服务器,实现将一个连接的互联网或者网络连接共享给多个客户端机器. 1. 启用 IPv ...

  5. MPV源码探究:背景及准备工作

    背景及准备工作 一点历史 古有魏蜀吴三分天下,今有 Mplayer.MPC.VLC 三分天下.这个世界观太庞大,忍不住先讲一点多媒体播放器的历史.实际上目前市面上的开源播放器主要基于三种技术栈: Mp ...

  6. C#开发微信小程序(三)

    导航:C#开发微信小程序系列 关于小程序项目结构,框架介绍,组件说明等,请查看微信小程序官方文档,关于以下贴出来的代码部分我只是截取了一些片段,方便说明问题,如果需要查看完整源代码,可以在我的项目库中 ...

  7. utf8和utf8mb4的区别

    一.简介 MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode.好在utf8mb4是utf8的超集,除了将编码改为ut ...

  8. 使用StampedLock

    /** * StampedLock和ReadWriteLock相比,改进之处在于:读的过程中也允许获取写锁后写入!这样一来,我们读的数据就可能不一致,所以,需要一点额外的代码来判断读的过程中是否有写入 ...

  9. JavaWeb学习——在Eclipse里使用Tomcat

    JavaWeb学习——在Eclipse里使用Tomcat 摘要:本文主要学习了如何在Eclipse里使用Tomcat服务器. 添加Tomcat 打开Eclipse的配置页面,点击菜单上的“Window ...

  10. IDEA中使用Maven模板创建Servelet项目并使用Tomcat来运行项目

    首先需要正确安装Maven和Tomact,Maven安装和Tomact安装步骤,参见别的文章. 一.创建Maven工作空间 点击Finish按钮后,耐心等待.直到出现BUILD SUCCESS为止. ...