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. Python Tutor

    Python Tutor Python Tutor 是由 Philip Guo 开发的一个免费教育工具,可帮助学生攻克编程学习中的基础障碍,理解每一行源代码在程序执行时在计算机中的过程.通过这个工具, ...

  2. spring事件机制

    前置知识补充: 程序里面所谓的“上下文”就是程序的执行环境,打个比方:你就相当于web程序,你的房子就相当于web程序的上下文,你可以在家里放东西,也可以取东西,你的衣食住行都依赖这个房子,这个房子就 ...

  3. App上架流程[利用Archive进行上传]

    作者 M_Lee2016.01.22 10:47 写了14852字,被32人关注,获得了49个喜欢 [iOS]App上架流程[利用Archive进行上传] 字数2186 阅读507 评论3 喜欢9 今 ...

  4. java 中java.util.Arrays类---常用函数记录

    java.util.Arrays主要是用来对数组进行操作的类,主要包括以下方法: 1.数组转化列表,得到固定大小的列表,Arrays.asList(...): public static <T& ...

  5. 459. Repeated Substring Pattern

    https://leetcode.com/problems/repeated-substring-pattern/#/description Given a non-empty string chec ...

  6. 671. Second Minimum Node In a Binary Tree

    /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode ...

  7. Vbs脚本简单使用

    之前在做项目时用到了一点vbs脚本,记录下. C++程序调用vbs脚本 System(vbs路径 参数); //空格隔开 Vbs脚本 '''''Vbs脚本解析参数 Set objArgs = Wscr ...

  8. laravel 5.1 简单配置例子

    这里演示5.1版本 一.数据库配置 .env文件(也可以直接修改config/database.php) DB_HOST=localhost DB_DATABASE=test  //数据库名称 DB_ ...

  9. #微码分享#C++变参字符串格式化函数format_string

    在C和C++中,变参格式化函数虽然非类型安全,但却十分便利,因为得到广泛使用.对于常见的size_t类型要用“%zu”,ssize_t用”%zd“,int64_t用“% ”PRId64,uint64_ ...

  10. git使用教程(初次配置+错误提示)

    初次使用配置目录:https://blog.csdn.net/Esc_Tab_End/article/details/84144063 error: RPC failed; curl 56 OpenS ...