git首次安装后的设置:

首先打开hash.exe输入用户名和邮箱

1
2
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

利用git本地仓库进行版本控制可以简单的理解为:a 持有实际文件的物理工作目录,b 暂存区,c 本地仓库(git在本地默认建立的一个master分支)

其中a-->b是由add实现,而b-->c是由commit实现。

利用git在本地进行版本库存储:
(打开D:/Git/bin/bash.exe)

1.git在本地指定地点建立仓库(或者是指向克隆下来的仓库):

1
cd e:/github_projects/tisikcci.github.io

2.初始化一个git仓库:

1
git init

初始化之后,会在tisikcci.github.io文件夹下生成一个默认隐藏的.git文件夹

3.向这个隐藏的文件夹中添加文件:README.md(可以是别的文件,要将这个文件放在.git同级文件夹下):

1
git add README.md

也可以一次添加多个文件,类似于:

1
git add README1.md README2.md README3.md

4.将文件存入本地仓库(当前分支),同时添加改动或者说是更新说明:(这里的‘first commit’应该是与本次提交或者更新有关系有实际意义的说明,方便以后溯源)

1
git commit - m'first commit'

5.在上面的3,4步骤过程后可以使用以下命令看到内容的变动

1
git status

6.可以使用以下代码查看git版本库的修改或者说是更新次数(使用q可以退出这个命令)

1
git log

如果觉得这样得到的信息太多,可以使用下面的命令,使得每次修改信息漂亮的显示在同一行

1
git log --pretty=oneline

也可以选定查看最近2次的版本更新信息:

1
git log -n 2

7.可以利用reset实现版本回退:

1
git reset --hard head^

注意:HEAD表示当前版本(就是一个指针),在后面加一个^,表示(指向)上一个版本,前第N个版本是HEAD~N,

回退以后想恢复之前最新的版本或者是某次特定的版本,可以利用如下代码查找操作代码库的关键步骤历史记录的ID实现:

1
git reflog

根据ID,比如是441736f,前进到回退前的某个版本

1
git reset --hard 441736f

8.commit之后又对项目中的某个文件内容进行了更新,可以利用以下命令回到离commit最近的状态(就是丢弃掉没有进行add操作的更改内容,回到上次commit操作时的状态)

1
git checkout -- 文件名 

这里本质是利用本地版本库中的相同文件替换了本地文件夹中的文件,所以看起来是回到之前commit操作时的状态了(但是如果更改已经add了,除非放弃add操作内容,否则下次commit又会更新本地仓库)

更进一步,撤销已经add到暂存区但没有commit到本地分支的文件

1
it reset head 文件名

以上过程中可以使用以下命令查看具体文件的内容

1
cat 文件名

9.删除本地版本库中的文件

首先说一下一种特殊情况:本地的文件夹中的项目相关文件被删除了,但没有更新本地的版本库,如果这时想恢复被删除的项目相关文件,可以利用以下命令:

1
git checkout -- 文件名

第二种情况是真的想删除本地仓库中的相关文件,利用以下代码删除本地文件夹中的文件(也可以手动删除)

1
rm 文件名

然后利用以下代码删除本地仓库中的文件

1
git  rm 文件名

并且利用git commit进行保存

1
git commit -m"remove 文件名"

10.新建一个分支,可以利用

1
2
git branch 分支名
git checkout 分支名

上面的代码分别表示新建一个分支,并将head(指针)指向新建的指针 

也可以使用下面的方式直接实现新建一个分支并使head指向它

1
git checkout -b 分支名

可以利用下面的命令分别查看本地分支,远程分支和所有分支,当前指向分支前会加*号

1
git branch<br>git branch -r<br>git branch -a

删除已经存在的指定本地分支,远程分支(注意要先将指针指向其他分支才能删除此分支)

1
2
git branch -d 分支名
git push origin :分支名

重命名分支

1
git branch -m 原分支名 新分支名

11.在新分支上提交内容,对之前的主分支master并不会有影响,可以利用如下方式再切换回主分支

1
git checkout master

此时head会重新指向master,将master替换为别的分支,可以实现切换到任意指定分支

12.将新建立的分支合并到主分支(首先要切换回主分支)

1
git merge 新分支

合并后,就可以利用上面给出的方法删除新分支

14.如果想保留新建的分支,并推送到远程仓库,可以利用

1
git push origin 新建的分支

15.可以给项目进度添加版本号,通过添加标签的方式实现

1
git tag 版本号

通过省略版本号可以直接查看已经添加的版本号

1
git tag

可以给以前的某次提交补加版本号,只要查找到之前commit操作对应的ID,比如:441736f

1
git tag 版本号 441736f

可以利用如下的方式实现在添加标签时添加说明

1
git tag -a 版本号 -m "版本说明"

可以通过以下命令查看指定版本内容

1
git show 版本号

删除不想要的标签

1
git tag -d 已经存在的标签(版本号)

可以将本地标签推送到远程仓库

1
git push 远程主机名(比如origin) 版本号

比如:

1
git push origin v1.0

将本地所有的版本号都推送到远程仓库

1
git push origin --tags

如果想删除远程仓库的版本号,需要进行两步

a. 首先要删除本地版本号(标签)

b.再删除远程版本号

1
git push origin :refs/tags/版本号

*******************************************************************************************************************************

利用以上步骤,基本可以实现利用git本地进行操作,以下要实现将本地git仓库同步到远程仓库(例如github,当然也可以自己在一台PC上搭建一个服务器,作为远程仓库)

利用github充当远程仓库是一种很不错的方式,git本地仓库和github可以通过SSH加密,利用多种方式进行数据传输:HTTP(s)、SSH、Git、本地协议等,前两种比较常用。

*******************************************************************************************************************************

1.要想将本地仓库同步到Github上,首先需要建立本地和Github上使用的SSH私钥和公钥,在git的bash.exe中输入

1
ssh-keygen -t rsa -C “tisikcci@foxmail.com”

2.在电脑上生成公钥和私钥,将公钥上传到github上

3.测试是否连接成功

1
ssh -T git@github.com

4.在Github上建立一个你想和本地仓库进行同名的仓库(名字相同)

5.利用上面的cd...指向本地仓库的位置,然后关联到Github的远程仓库:

1
git remote add origin git@github.com:tisikcci/tisikcci.github.com.git

6.关联好之后,可以把本地仓库中的内容推送到Github上的远程仓库了

在首次进行推送的时候,需要:

1
git push -u origin master

此处加 -u 是用来将本地master和远程master进行关联的,以后再次推送就不需要再加了,origin是远程主机的名字,可以通过以下代码来查看

1
git remote

或者是

1
git remote -v

这个主机名字是可以人为指定的。 

首次推送之后,下次再向远程仓库master分支推送项目时,只需要

1
git push origin master

7.上面提到可以人为指定远程主机的名字,在将远程仓库克隆到本地的时候,可以实现

1
git clone -o 新主机名 https://github.com/tisikcci/first-static-web-page.git/

如果使用默认的主机名并且克隆到本地指定的位置,可以利用

1
git clone https://github.com/tisikcci/first-static-web-page.git/ 本地地址

最好是直接利用SSH协议进行clone,如下

1
2
git clone 仓库的SSH地址  本地建立的空文件夹地址
git clone git@github.com:tisikcci/test.git e:/github_projects/zz

就将远程仓库的test克隆到了本地的zz文件夹中。

git 使用备忘的更多相关文章

  1. git使用备忘

    简单的记录下现在使用git的时候,暂时或者常用到的命令,纯粹自己备忘,没用到过的命令就不写了,日后有用到了在补充. 1.把远程仓库克隆到本地:git clone 远程地址 2.分支操作 新建分支:gi ...

  2. Git命令备忘

    最近在用Git,查了点相关资料,逻辑依然不太明了,先整理一部分备忘,以后补充 一.本地Git与Github/码云的关联 1. 设置本地用户名,邮箱 git config --global user.n ...

  3. git 命令备忘

    git 常用命令备忘 仅作为日常使用备忘,并非常用命名整理 删除源端分支 git push orgin --delete branch_a a分支某次提交应用到b分支 切换到branch_b 分支: ...

  4. Git学习备忘

    本文参考廖雪峰写的精彩的git学习文档,大家可以直接去官网看原版,我这里只是便于自己记录梳理 原版地址:http://www.liaoxuefeng.com/wiki/0013739516305929 ...

  5. Git开发备忘

    1.在Git中,上传了中文命名的文件,但是后面想删除的时候,发现中文命名被转义了. 利用Git add是无法添加这类文件的,所以这里我们需要用到 git add -u命令,即可实现成功添加. 2.在G ...

  6. 偶尔要用的git命令备忘

    文档:https://git-scm.com/docs 列出所有远程空间: git remote -v 重命名远程空间: git remote rename <old> <new&g ...

  7. Bonobo Git Server (Simple git server for Windows.) 测试备忘

    Bonobo Git Server是一款Windows上的Git Server,它使用IIS即可,走的是Http协议,只要简单的安装就能使用,但是因为我的项目大小有1.35GB在 push 的时候一直 ...

  8. Npm vs Yarn 之备忘大全

    有则笑话,如此讲到:"老丈人爱吃核桃,昨天买了二斤陪妻子送去,老丈人年轻时练过武,用手一拍核桃就碎了,笑着对我说:你还用锤子,你看我用手就成.我嘴一抽,来了句:人和动物最大的区别就是人会使用 ...

  9. centos 安装gitee备忘

    centos 安装gitee备忘:安装前需要升级git.需要安装mysql阿里云主机需要把端口加入例外需要修改全局配置文件把localhost改为ip需要设置为后台运行

随机推荐

  1. AppBox中,如何在用户管理页面显示用户所属的多个角色?

    <f:TemplateField Width="200px" HeaderText="角色">    <ItemTemplate>    ...

  2. Anglarjs 工具方法

    Angularjs 常用方法 1. isArray使用 效果图如下,结果为true 2.uppercase使用 $scope.name = "zhangsan"; $scope.n ...

  3. Linux下Oracle中SqlPlus时上下左右键乱码问题的解决办法

    window下的sqlplus可以通过箭头键,来回看历史命令,用起来非常的方便. 但是在Linux下,会出现各种乱码,非常不方便,如下图所示,每次打错一个字符就需要重新打一遍. 解决办法:rlwrap ...

  4. Eclipse设置相同变量背景色高亮显示

    在Eclipse中,鼠标选中或者光标移动到java类的变量名时,相同变量会被标识显示(设置背景色高亮), 并且侧边滚动条会标出变量的位置, 查找变量十分方便. 1.相同变量标识高亮显示: Window ...

  5. BASIC-24_蓝桥杯_龟兔赛跑预测

    示例代码: #include <stdio.h> int main(void){ int t1 = 0 , t2 = 0 , l1 = 0 , l2 = 0 ; int v1 = 0 , ...

  6. BASIC-10_蓝桥杯_十进制转十六进制

    示例代码: #include <stdio.h>#define N 16 void dg(int a){ int y = a%N; int next = (a-y)/N; if (next ...

  7. 【Ethereum】以太坊ERC20 Token标准完整说明

    什么是ERC20 token 市面上出现了大量的用ETH做的代币,他们都遵守REC20协议,那么我们需要知道什么是REC20协议. 概述 token代表数字资产,具有价值,但是并不是都符合特定的规范. ...

  8. CART、GradientBoost

    转载:https://blog.csdn.net/niuniuyuh/article/details/76922210 论文:http://pdfs.semanticscholar.org/0d97/ ...

  9. python的XML处理模块ElementTree

    ElementTree是python的XML处理模块,它提供了一个轻量级的对象模型.它在Python2.5以后成为Python标准库的一部分,但是Python2.4之前需要单独安装.在使用Elemen ...

  10. 5S后返回首页

    <!DOCTYPE html> <html> <head> <title>5S后返回首页</title> <meta http-equ ...