初学git

git 安装

下载安装地址:https://www.git-scm.com/download/
下载完成后运行.exe文件进行安装,安装过程我就一直next。

安装完成后在开始菜单栏找到Git.Bash进行进一步设置
在命令行输入
$ git config --global user.name "Your Name"

$ git config --global user.email "email@example.com"

关于email,写错了也无所谓,但如果你想规范一点,可以在github上注册一个账户,email可以写github上的邮箱地址

命令行git version查看是否安装成功:git version

创建版本库repository

在本地磁盘中创建文件夹

$ mkdir gitDemo
$ cd gitDemo

初始化文件夹

$ git init
Initialized empty Git repository in D:/gitDemo/demo2/.git/

ll命令查看当前目录下的所有文件

$ ll
total 1
-rw-r--r-- 1 user 197609 10  6月 11 23:29 test.txt

1.git add <file>将文件存入暂存区,可add多个文件,用空格隔开;
2. git commit -m "描述"将暂存区的文件提交到本地仓库中;
3. git status查看当前git状态

工作流

基本概念

具体说明

  • 工作区:就是你在电脑里能看到的目录。
  • 暂存区:英文叫stage, 或index。一般存放在 “.git目录下” 下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。
  • 版本库:工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。

    下面这个图展示了工作区、版本库中的暂存区和版本库之间的关系:

在这里插入图片描述

修改了本地磁盘文件后需再使用git add||git commit命令提交至仓库

撤销修改

我们修改test.txt文件并添加到暂存区后发现版本或修改错误,使用

$ git reset HEAD test.txt
Unstaged changes after reset:
M       test.txt

将暂存区文件返回至工作区,并使用git checkout -- file丢弃工作区的修改

版本回退

git log可查看从最近到最远的提交日志 cb249617f49a567477eb5410cb1e079e0fe324ab是版本号

$ git log
commit cb249617f49a567477eb5410cb1e079e0fe324ab (HEAD -> master)
Author: gaye <xiaohai1612@outlook.com>
Date:   Wed Jun 12 09:19:24 2019 +0800

    second commit

commit ee536f58d72420f74e4e25cf6c6e287dc6a574a9
Author: gaye <xiaohai1612@outlook.com>
Date:   Wed Jun 12 09:15:30 2019 +0800

    first commit

我们也可以回退到更早之前的版本,第一次提交的版本,可用$ git reset --hard 第一次提交版本号来回退至first commit的版本

删除文件

我们在工作区中删除文件可以使用$ rm demo2.txt命令,但是仅仅删除的是工作区中的文件,暂存区和仓库还存在此文件
所以,我们要使用git rm demo2.txt从版本库中删除该文件,并且$ git commit -m "remove demo2.txt"现在,文件就从版本库中被删除了。

远程仓库

目前我们使用到的 Git 命令都是在本地执行,如果你想通过 Git 分享你的代码或者与其他开发人员合作。 你就需要将数据放到一台其他开发人员能够连接的服务器上。
如果你是大神,完全可以自己搭建一台运行Git的服务器,这里我使用的时github的远程仓库。
在使用github远程仓库前,请先自行到官网注册账号github

  • 创建SSH Key。使用$ ssh-keygen -t rsa -C "youremail@example.com"命令,一直enter,完成后系统会在用户主目录下生成.ssh目录,我的是C:\Users\.ssh。里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。
  • 登陆GitHub,打开“Account settings”,“SSH Keys”页面:如果是第一次使用github,是没有ssh key的,需要自己添加新增SSH key
    填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容;点击Add SSH key
    重新登陆后,SSH key就生成成功了。
    GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。

之后可以使用$ ssh -T git@github.com看是否与git关联上。
第一次会弹出SSH警告,输入yes即可

$ ssh -T git@github.com
The authenticity of host 'github.com (52.74.223.119)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'github.com,52.74.223.119' (RSA) to the list of known hosts.
Hi xiaohai9090! You've successfully authenticated, but GitHub does not provide shell access.

$ ssh -T git@github.com
Hi xiaohai9090! You've successfully authenticated, but GitHub does not provide shell access.

添加远程仓库

在github上点New repository新建一个仓库
在这里插入图片描述
新建成功后,仓库还是空的,我们需要把本地仓库与远程仓库关联起来
新建仓库成功
使用$ git remote add origin git@github.com:xiaohai9090/gaye.git注意用自己的github账户
之后$ git push -u origin master将本地仓库内容推到远程仓库中,这里第一次推送使用-u参数,之后可以不用加-u,直接 git push就可以

克隆仓库

克隆仓库是将远程github仓库复制到本地仓库中,使用以下命令

$ git clone git@github.com:xiaohai9090/gaye.git
Cloning into 'gaye'...
Warning: Permanently added the RSA host key for IP address '13.229.188.59' to the list of known hosts.
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 3 (delta 0), pack-reused 0
Receiving objects: 100% (3/3), done.

成功后在本地目录下可以找到gaye文件夹。之后修改gaye里的文件后git add || git commit||git push就能推送至远程仓库中

另外,附加初学git时常用到的命令

git init : 初始化文件夹
git add xxx.txt: 将文件添加到git 暂存区
git commit -m “描述”:将暂存区文件添加到本地仓库,并描述
git reset HEAD demo.txt:将暂存区文件回滚
git log:可查看从最近到最远的提交日志
git reset --hard xxx哈希码xxx :将本地仓库文件回滚至哈希码对应的状态中
git status :查看git状态
git rm demo.txt: 删除仓库中demo.txt文件
git remote add origin git@github.com:xiaohai90090/gaye.git
git push :推送至远程仓库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值