Git是一个优秀的版本管理工具,gitHub是一个公共的仓库,可以将代码保存在云端~Git和GitHub的搭配让广大程序猿们可以一起和谐愉快地敲代码啦~(参考了:https://www.liaoxuefeng.com/wiki/896043488029600/896067074338496,谢谢)
目录
一、下载与安装
二、修改基本配置
1、设置用户名与邮箱
2、修改GitBash的用户主目录
3、设置仓库位置
三、开始管理本地文件
1、注意
2、开始管理
3、分支
4、查看日志与回滚
5、撤销修改
四、开启远程仓库
1、注册一个gitHub的账号
2、生成SSH码并保存到GitHub相关配置中
3、建立远程连接
4、把代码发到远程仓库
5、从远程仓库拉取代码
6、处理冲突
7、多人协作时的好习惯
下载地址:https://git-scm.com/downloads
选择你的操作系统,下载对应版本,一路默认安装就好啦
$ git config --global user.name "Your Name"
$ git config --global user.email "[email protected]"
$ git config user.name
$ git config user.email
环境变量》新增》Home:D:/your_workPlace
实际上,步骤二就已经设置了仓库位置啦,但还要初始化一下,有两种方法
cd /G |进入目标磁盘
mkdir gitPro |创建文件夹
cd gitPro |进入该文件夹
pwd |当前文件夹路径
git init |将该文件夹设置为仓库
(1)单个添加
(2) 批量添加
(3) 暂存区与本地仓库的原理
我们可以在不同的分支上工作,就放佛拷贝了原文件的一个副本,然后尽情地修改,而不要担心会丢失、损坏原来的文件。
“提倡使用子分支:创建、合并和删除分支非常快,所以Git鼓励你使用分支完成某个任务,合并后再删掉分支,这和直接在master分支上工作效果是一样的,但过程更安全。”
(1) 创建分支:git branch yourBranchName
(2) 切换分支:git checkout yourBranchName
(3) 合并以上,创建并切换分支:git checkout -b yourBranchName
(4) 查看分支:git branch
(5) 删除分支:git branch -d yourBranchName
(6)合并某分支到当前分支:git merge yourBranchName
查看过去的日志可以知道自己做了什么,然后根据日志的名称,可以让文件恢复到过去的状态
(1)最原始的查看日志(不推荐,因为太详细了!):git log
(2)只看简要信息(推荐):git log --pretty=oneline
(3)推出log状态:Q
日志中那一长串黄色字符,是日志的名字,根据它来定位要回滚的位置,不用担心名字太长,可以只输入前面的几位,开始回滚啦!
(1) 回滚到指定位置:git reset --hard e9f072
(2)回滚到上一版本:git reset --hard HEAD^
(3)回滚到上上一版本:git reset --hard HEAD^^
如果又反悔了,要回滚到“将来”怎么办——通过git reflog查看每一次命令对应的版本号,从而还原
(1) 撤销工作区:让文件回到最近一次git commit或git add时的状态。(将没有add到暂存区的修改全部撤销)
git checkout --yourfile
(2)把暂存区的修改撤销掉(unstage),重新放回工作区
git reset HEAD yourfile
这个不说啦
什么要SSH Key:因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。
允许多个Key:假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。
(1)指令:ssh-keygen -t rsa -C "[email protected]"
如果没有更改用户目录,则生成的.shh文件在C:/user的目录下哦,更改目录的方法往上翻
(2) 打开.shh文件夹,其中.pub是公钥,即我们要保存到GitHub中的SSH Key
用notepad++打开,然后复制
(3) 打开gitHub的setting,选择SSH and GPG Keys,点击new SSH Key,title随便取一个,自己记得的,再将公钥粘贴到框框中。
情景:你已经在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作。
(1) 将本地主分支与远程仓库链接:
第一次连接时可能会报错:he authenticity of host 'github.com (xx.xx.xx.xx)' can't be established. 点yes就行了
-u参数的作用:第一次连接远程库的时候加上,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。
(2) 创建本地分支,并与远程某分支连接
(1) 完整指令:git push origin
(2)如果当前分支就是对应的远程的那个分支,则直接:git push
(1) 第一次克隆:git clone [email protected]:yourGitHubName/yourRepositoryName.git
(2)已经建立过连接了,且当前分支和远程分支相对应:git pull
(1) 查看冲突的文件:git status
(2)图形化管理工具,此处推荐小乌龟工具:https://tortoisegit.org/
(3)出现vim界面怎么办?
我曾经试着去输入一些信息,但总是失败……甚至给下一次push带来了困难,于是放弃了……
自暴自弃的方案:shift+; 再输入wq,就是保存退出。如果是wq!,就是不保存退出
(1)干完活记得先add、再commit、接着pull、最后push
(2)新的一天开始了,先pull,再开始干活!