Git for Windows - 1

简介 :

Windows 10下搭建学习Git
下载:
https://gitforwindows.org/
安装教程参考:
https://github.com/xiezongnan/Summarize/blob/master/git/Git_Setup.md

创建目录和初始化本地库

某个文件夹下:




git gui here 就是简单的图形化界面操作


初始化

Git 基本概念

1.png

上图每个部分的简要说明

  • 需要进行版本控制的文件目录叫做一个仓库repository缩写repo,每个仓库可以简单理解成一个目录就是上图的Directory包含工作空间和Git的管理空间
  • WorkSpace:需要通过Git进行版本控制的目录和文件,这些目录和文件组成了工作空间,除了.git之外的都属于工作区。
  • .git:存放Git管理信息的目录,初始化仓库的时候自动创建。
  • index/Stage:暂存区,或者叫待提交更新区,在提交进入repo(仓库)之前,我们可以把所有的更新放在暂存区。
  • Stash:是一个工作状态保存栈,用于保存/恢复WorkSpace中的临时状态。
  • Local Repo:本地仓库,一个存放在本地的版本库;HEAD只是当前的开发分支(branch)
.git说明

它是位于工作区中的一个隐藏目录,它里面保存了Git工作时需要存储的相关信息。如果想从你的项目中移除git,但保留项目文件,只需要删除.git文件夹即可


树形结构图
  • config 文件包含了项目特有的配置选项
  • description仓库的描述
  • HEAD 文件指向当前分支
  • hooks 目录保存了客户端或服务端钩子脚本。
  • info 目录保存了一份不希望在 .gitignore 文件中管理的忽略模式 (ignored patterns) 的全局可执行文件
  • objects 目录存储所有数据内容
  • refs 目录存储指向数据 (分支) 的提交对象的指针,里面即有stash栈指针以及tag等

创建一个README.md内容当然为hello world


创建文件README.md

连接GitHub

本地仓库与远程仓库的传输是通过SSH加密的,首先创建SSK KEY


id_rsa是私钥,不能泄露出去(请告诉我!!!)
id_rsa.pub是公钥,可以放心地告诉任何人

在网站登陆GitHub账号
找到settings

title填能够提醒自己这是什么的公钥

测试连接

ssh -T [email protected]

successfully

创建远程仓库并提交本地项目

将本地库的master分支与远程库的master分支建立联系
后面就能看到自己所在的分支

看见这个巨大的master

Create a new repository账号下新建一个demo仓库

首先检查本地的库有没有已经关联的远程库,如果已经有了可以删除,或者可以重新建立一个,别重名
git remote -v

WangGang@DESKTOP-PDK3N5G MINGW64 /d/Git/git_project/demo/.ssh (master)
$ git remote -v
显然没有

添加一个关联
git remote add [shortname] [url]url是https或者ssh都可以


恭喜您关联成功

将本地库的内容推送到远程仓库上

  • 首先需要将本地库文件夹下的文件都添加到本地库暂存区中
    执行命令:$ git add .这个点就是代表目录下的全部文件
  • 再将本地暂存区的内容提交到本地库中
    先设置git用户名/邮箱,前面忘了 哈哈
$ git config user.name 'github用户名'
$ git config user.email '邮箱'


可以使用$ git config --list查看配置是否设置成功
执行命令:$ git commit -m '第一次提交'

可以看见前面创建的README.md提交到了本地库

  • 最后将本地库的内容上传到远程库中
    $ git push -u pb master命令后面简单介绍
    pb是上面创建的远程主机名 master是本地分支名 -u是第一次推送加上的
    好像第一次会弹出了登陆验证

    下图表示成功啦!!!

    再来看看网站上

用git push命令,实际上是把当前分支master推送到远程;由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。

git push的一般形式为 git push <远程主机名> <本地分支名> <远程分支名>
例如 git push origin master:refs/for/master即是将本地的master分支推送到远程主机origin上的对应master分支
origin 是远程主机名
第一个master是本地分支名
第二个master是远程分支名 (refs/for/是什么原因呢??等我去学学)
如果远程分支被省略,git push origin master
如上则表示将本地分支推送到与之存在追踪关系的远程分支(通常两者同名),如果该远程分支不存在,则会被新建

你可能感兴趣的:(Git for Windows - 1)