1、下载:

https://gitforwindows.org/

2、安装:https://blog.csdn.net/chengyuqiang/article/details/54178683

3.安装完成之后在开始菜单找到Git Bash点击弹出命令行窗口

4、登录用户名和邮箱

1 git config -global user.name "Your userName"
2 git config -global user.email "xxx@163.com"

5、创建版本库

  1.进入到计算机某个磁盘并创建文件夹存放git项目仓库(如myRepository) 

1 $ cd D:\MyInstall\Github:
2 $ mkdir myRepository
3 $ cd myRepository
4 $ git init
Initialized empty Git repository in D:\MyInstall\Github\myRepository\.git

6、git命令

(1)git add <file>,注意,可反复多次使用,添加多个文件。
(2)git commit -m "注释",完成提交。
(3)git reset --hard commit_id 回退版本。
(4)git reset HEAD -- file:清空add命令向暂存区提交的关于file文件的修改(Ustage)
(5)git log可以查看提交历史,以便确定要回退到哪个版本。
(6)git reflog查看命令历史,以便确定要回到未来的哪个版本。
(7)git checkout -- file: 可以让没有add和commit的文件回到修改前状态。
(8)rm file:删除文件,但是不提交修改,可以通过git checkout -- file恢复。
(9)git rm file:删除文件,无法通过git checkout -- file恢复,必须通过git reset HEAD -- file才有用。
(10)ssh-keygen -t rsa -C "youremail@example.com" :在windows下(电脑桌面即可) 打开git bash here 使用命令 $ ssh-keygen -t rsa -C "youremail@example.com"
  创建创建SSH Key
(11)git remote add origin git@github.com:username/Mytest.git :和GitHub上的远程仓库关联,username是GitHub的用户名,Mytest.git是在GitHub上新建的远程仓库。
  添加后,远程库的名字就是origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库。

  在关联远程库后使用 git add file 和git commit -m "注释"后就可以执行步骤(12)了。

参考:https://www.cnblogs.com/onephp/p/6116716.html

(12)git push -u origin master 我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。

测试时一直push失败,

  结果报错如下:
error: failed to push some refs to 'git@github.com:username/Mytest.git '
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
  后发现,是由于两者不同步(新建远程仓库的时候创建了README.md,而本地没有),因此需要先pull,进行合并然后在进行push,
  因此先使用
git pull --rebase origin master
  将远程文件同步下来。
  然后再执行推送就OK了
git push -u origin master

(13)git clone git@github.com:username/jeecms.git 克隆GitHub上的远程库

(14)  查看分支:git branch ,当前分支会有一个*

  创建分支:git branch <name>
  切换分支:git checkout <name>
  创建+切换分支:git checkout -b <name>
  合并某分支到当前分支:git merge <name>
  删除分支:git branch -d <name>,如果要丢弃一个没有被合并过的分支,可以通过git branch -D <name>强行删除。
  git log --graph:命令可以看到分支合并图。

  $ git merge --no-ff -m "merge with no-ff" dev:合并dev分支,请注意--no-ff参数,表示禁用Fast forward,--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来                     曾经做过合并,而fast forward合并就看不出来曾经做过合并

(15)修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除;

    当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,回到工作现场。

(16)git 多人协作的工作模式通常是这样:

  1. 首先,可以试图用git push origin branch-name推送自己的修改;

  2. 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;

  3. 如果合并有冲突,则解决冲突,并在本地提交;

  4. 没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!

    如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name

    这就是多人协作的工作模式,一旦熟悉了,就非常简单。

(17)

    git tag <name>用于新建一个标签,默认为HEAD,也可以指定一个commit id;

    git tag -a <tagname> -m "blablabla..."可以指定标签信息;
    git tag -s <tagname> -m "blablabla..."可以用PGP签名标签;

    命令git tag可以查看所有标签。

    命令git push origin <tagname>可以推送一个本地标签;

    命令git push origin --tags可以推送全部未推送过的本地标签;

    命令git tag -d <tagname>可以删除一个本地标签;

    命令git push origin :refs/tags/<tagname>可以删除一个远程标签。

(18)

    忽略某些文件时,需要编写.gitignore;

    .gitignore文件本身要放到版本库里,并且可以对.gitignore做版本管理!

Git安装学习记录的更多相关文章

  1. Git原理学习记录

    Git原理学习记录 1.git init git-test ​ git init 实际上就是在特定的目录下创建对应的目录和文件 2.object $ echo "V1" > ...

  2. GIT初始学习记录

    目录 GIT学习记录 配置github与gitlib两个账号 基本操作 git init:初始化仓库 git status:查看仓库状态 git add :向缓存区中添加文件 git commit 保 ...

  3. git原理学习记录:从基本指令到背后原理,实现一个简单的git

    一开始我还担心 git 的原理会不会很难懂,但在阅读了官方文档后我发现其实并不难懂,似乎可以动手实现一个简单的 git,于是就有了下面这篇学习记录. 本文的叙述思路参照了官方文档Book的原理介绍部分 ...

  4. myeclipse8.6 git 安装学习

    只有公司有svn,回到宿舍无法访问,因此没法做迭代开发,因此最近学习了git,这样在公司了提交的代码,回到宿舍也可以继续开发,用了一天的时间才弄明白git的原理,智商有问题啊,下面说下具体步骤,个人已 ...

  5. [git]git版本管理学习记录

    今天看到别人用这玩意记录自己的进度, 我也学习了一下. 1,适当的工具会提升效率 2,关注点还是得放在代码本身上. github/gitignore github提供了各种gitignore文件 有p ...

  6. 【Git】学习记录

    配置git git config --global user.name "用户名或者用户ID" git config --global user.email "邮箱&qu ...

  7. Git学习记录--git仓库

    Git是一款强大的版本控制工具,与svn相比git的分布式提交,本地仓库等在使用时确实比较方便.当然两者之间各有优劣,我在这里不多做比较.由于之前少有接触git,只是零星大致地了解一点,所以找时间系统 ...

  8. Git学习记录 力做全网最强入门教程

    目录 Git学习记录 力做全网最强入门教程 什么是GitHub? 什么是Git? Git的配置 Git的安装(只介绍windos操作系统下) Git的配置 至此我们的入门教程到此结束,更新中级教程要等 ...

  9. git学习1:git安装和配置

    Git是什么?世界上最先进的分布式版本控制系统,记录了一个文本文件的每次一修改信息,比如,一篇散文,从草稿到最终出版,经历过无数次修改,修改了标点符号形成一个版本,老师帮助修改形成一个版本,同学帮忙修 ...

随机推荐

  1. make/makefile中的加号+,减号-和at号@的含义

    http://www.crifan.com/order_make__makefile_in_the_plus__minus_-_and_at_the_meaning_of_numbers/ 在看mak ...

  2. canvas 实现贪吃蛇游戏

    var canvas = document.getElementById('canvas'); var cxt = canvas.getContext('2d'); // 定时器 var timer; ...

  3. mysql数据库的安装和基本使用

    一.数据库安装配置 1)数据库的概念 .数据库相关概念 数据库服务器(本质就是一个台计算机,该计算机之上安装有数据库管理软件的服务端) 数据库管理管理系统RDBMS(本质就是一个C/S架构的套接字软件 ...

  4. python学习 day19 (3月26日)----(对象组合)

    深谙:非常透彻地了解:熟悉内中情形.谙,读作‘ān’ 熟悉. 1.面向对象作用:规划了代码中的函数处理的是哪一类问题 解决了传参的问题 方便扩展 方便重用 2.类的定义和使用类当中有哪些成员 ''' ...

  5. python学习 day08 (3月13日)----函数

    函数 一.定义  def  关键字  函数名(): 函数体 函数 ---- 封装#def 关键字 # #定义后的函数就像变量 不调用是不执行的 # #函数名() ==函数的调用 def code(): ...

  6. Devexpress VCL Build v2015 vol 15.1.2发布

    2015年马上过半年了.终于第一个大版出来了. What's New in 15.1.2 (VCL Product Line)   New Major Features in 15.1 What's ...

  7. How to turn on syntax highlighting in osx

    put follow code in ~/.vimrc set ai " auto indenting set history=100 " keep 100 lines of hi ...

  8. mysql之数据库的介绍和基本的增删改查

    一 学前知识 什么叫做静态页面:用户传入内容后,不能处理用户的请求,只能单纯的显示主页面的信息. 什么是负载均衡:通过计算服务器的性能,将客户发送过来的请求指派给某台服务器.一般还要有一个备份的负载均 ...

  9. SELECT INTO创建临时表

    SELECT INTO创建临时表 SQL Server临时表有两种类型:本地和全局.它们在名称.可见性以及可用性上有区别.本地临时表的名称以单个数字符号 (#) 打头:它们仅对当前的用户连接是可见的: ...

  10. WebSocket 处理事件

    WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议. WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据.在 W ...