Git的下载与安装
Git可以在Git的官网下载:Git下载地址。
点击Download 2.36.0 for Windows即可获得安装包 ,安装后会自动为你配置环境变量。运行命令提示行,输入git --version,显示如下说明已成功安装:
有些同学可能通过其他方式下载Git,并且未配置环境变量,此时命令行会提示git不是内部或外部命令,也不是可运行的程序。下面给出两种解决方案:
方案1 配置环境变量
打开环境变量窗口-->Path,添加"安装目录"+"\cmd"如下图:
方案2 使用Git bash
右键打开Git Bash Here,即在此处打开了一个git自带的shell:
Git 的初步使用
首先,我们需要为我们的git提供一个用户名与邮箱。因为git是一个分布式版本管理系统,需要对每一个操作的用户进行区分,我们在git bash中输入以下指令:
$ git config --global user.name "UserName"
$ git config --global user.email "EmailAddress@email.com"
这里为了方便使用,我们用--global参数指定全部git仓库都使用这个用户名。
在我们的仓库目录下打开git bash,输入git init,将其转化为一个git仓库。
这时,git仓库就创建完成,我们可以发现该目录下产生了一个隐藏文件夹.git:
把文件添加到版本库
我们新建一个readme.md文件:
在里面添加若干内容后保存 。使用
$ git status
可以看到标红色的是我们新添加的文件,提示此处有untracked file,我们需要使用add指令将其添加到缓存区:
$ git add readme.md
这里产生了一个 warning:LF will be replaced by CRLF in readme.md。LF和CRLF其实都是换行符,但是不同的是,LF是linux和Unix系统的换行符,CRLF是window 系统的换行符。这就给跨平台的协作的项目带来了问题,保存文件到底是使用哪个标准呢? git为了解决这个问题,提供了一个”换行符自动转换“的功能,并且这个功能是默认处于”自动模式“即开启状态的。
这个换行符自动转换会把自动把你代码里 与你当前操作系统不相同的换行的方式 转换成当前系统的换行方式(即LF和CRLF 之间的转换),这样一来,当你提交代码的时候,即使你没有修改过某个文件,也被git认为你修改过了。
我们可以改变仓库配置阻止此转换:
$ git config core.autocrlf false
但这是极度不建议的,因为会对跨平台协作产生极大麻烦,我们一般可以直接忽略这个警告。
继续使用git status查看当前状态:
可以看到有一次改动待提交。
第二步,使用commit指令将其提交到最终版本:
$ git commit -m "a readme file"
这里-m后面的内容是你对本次提交的注释。
这样就提交完成了,后续还可以对此仓库上传至远程仓库,例如github。
将仓库上传至GitHub
第一步:获得ssh key
$ ssh-keygen -t rsa -C "emailAddress@email.com"
之后一路回车,在用户的主目录里可以看到.ssh文件夹:
第二步:登录github
打开“Settings”-->“SSH and GPG Keys”页面,点击New SSH Key
在 Key 一栏输入id_rsa.pub中的内容,点击添加即可完成。
第三步,创建仓库。
填入仓库名,其余保持默认即可。
打开仓库,我们可以看到Github支持两种连接:ssh以及http,按照指示,我们在Git bash下输入
$ git remote add origin git@github.com:having-salt/learn.git
$ git push -u origin master
或者
$ git remote add origin https://github.com/having-salt/learn.git
$ git push -u origin master
即可上传成功
注意,github上默认主分支是main,而我们本地是master,所以在push时应当指定本地分支master。