1.什么是git
git是目前世界上最先进的分布式版本控制系统(没有之一)
git 可以在任何时间点,将文档的状态作为更新记录保存起来,也可以在任何时间点,将更新记录恢复回来。
如果这个过程由人为来操作。我们每天工作改变文档的内容,为了在以后能够查看,修改。我们每次编辑文档都需要复制,保存,新命名。当我们过端时间后,若想找回被删除的文字,但是已经记不清删除前保存在哪个文件里了,只好一个一个文件去找。更要命的是,有些部分需要同事共同来完成,于是把文件Copy给她,之后,同事再把修改后的文件传给你,此时,你必须知道,发给她之后到你收到她的文件期间,你作了哪些改动,她又作了哪些改动,如何找不不同之处并把它们都合并在一起。这是非常困难且麻烦的事情。
而这时候,使用git。不但能自动帮我记录每次文件的改动,还可以让同事协作编辑,这样就不用自己管理一堆类似的文件了,也不需要把文件传来传去。如果想查看某次改动,只需要在软件里瞄一眼就可以。
2.git 的使用
在使用 git 前,需要告诉 git 你是谁,在向 git 仓库中提交时需要用到。
配置提交人姓名:git config --global user.name 提交人姓名
配置提交人邮箱:git config --global user.email 提交人邮箱
查看git配置信息:git config --list (分别查看 git config user.name || git config user.email)
如果要对配置信息进行修改,重复上述命令即可。配置只需要执行一次。
3.git提交步骤
1.git init
初始化git仓库 (mac中Command+Shift+. 可以显示隐藏文件)
2.git status
查看文件状态
3.git add 文件列表
追踪文件
4.git add . 提交所有修改的文件
5.git commit -m 提交信息
向仓库中提交代码
6.git log
查看提交记录
4.git的撤销
1.用暂存区中的文件覆盖工作目录中的文件: git checkout 文件名
2.将文件从暂存区中删除: git rm --cached 文件名
3.将 git 仓库中指定的更新记录恢复出来,并且覆盖暂存区和工作目录:git reset --hard commitID
5.更多git命令
git checkout – file 可以撤销当前文件提交的更改
git log --pretty=oneline 可以使日志在一行显示 日志包含 日志id + 提交的内容描述
git reset --hard HEAD^ 回退到上一个版本 git reset --hard 日志id 可以回退到当前日志内容版本 日志不是必须写全的 截取开头一部分也可以进行版本回退
git reflog 可以查看每一次的版本控制的记录 可以使用其中的一个id 通过 git reset --hard id 返回修改之前的版本
生成和设置公钥
生成的命令 ssh-keygen -t rsa -C “xxxxx@xxxxx.com” 邮箱建议填写自己的邮箱
生成公钥之后 去 c://users/administrator/.ssh 该文件夹中有两个文件 一个是 id_rsa 他是私钥 不要泄露给别人 id_rsa.pub 是公钥 公钥就要设置的钥匙 可以公开
配置公钥 进入github的官网 =》 在自己的头像上悬停鼠标可以看到下面有一个settings 就是设置 点击设置进入设置页面 页面菜单中有一个ssh and GPG keys 点击它可以开始配置公钥 点击new ssh keys 可以开始添加公钥 就是把 id_rsa.pub内容全部复制进入公钥中
然后再自己的项目文件中执行 git clone git@github.com:你的git账号名/fenghuangshan.git 会把远程库的代码克隆进入本地文件夹
然后执行git init 初始化出.git文件
先执行一次 git push -u origin master
当修改了文件后可以执行
git add . 添加修改的内容进入暂存区
git status 查看状态
git commit -m “描述”
git status 查看状态
git pull 直到出现 Already up to date为止
git push 将本地的修改推向代码库
创建分支的命令 git branch 分支名
切换到某个分支的命令 git checkout 分支名 或者 git switch 分支名
分支内容修改后建议大家执行一次 git push origin 分支名
合并分支的命令 git merge 分支名 意思是把分支名对应的代码合并到当前我们所在的分支上 意思就是把别的代码拿到我这里来