git简介:git是目前最先进的分布式版本控制系统!!!
1. 安装git工具,目前git已经实现了Linux、unix、Mac、Windows几大平台的使用。本文暂时先记录Macos中git的使用。
安装参考网址:https://git-scm.com/download/mac
这里Mac设置了几种安装方式,我自己是选择了通过homebrew安装;
brew install git
安装完毕可以在终端使用命令查看git版本
git --version
其他命令可以使用帮助
git --help
2.创建本地版本库
概念:版本库也可以称作仓库、Git目录,该目录下的所有文件都会Git管理,每个文件的增删改查都会被跟踪记录,以便于后续还原。【git可以跟踪到每一次文本的变化,如txt、网页、程序等,对于图片和视频这类二进制文件只能跟踪到文件大小的变化,具体内容git不得而知】
创建一个空目录:
mkdir learngit
查看该目录的路径
cd learngit
pwd
将该目录变成Git版本库,注意⚠️:这里需要在该目录路径下才可以;
git init
将项目文件添加到learngit版本库中
将文件放在git目录下;将文件添加到版本库(加入暂存区);[例如:readme.txt]
git add readme.txt
提交全部则为
git add .
将文件提交到版本库,-m 后面表示本次提交的说明
git commit -m "readme file"
查看提交的状态--(1)nothing: 表示版本库内全部文件已提交;(2)文件名:表示新文件/修改后的文件 未提交)
git status
例如我这里仓库里一共有几个文件,但只提交了readme.txt 文件
重复几次操作学习一下版本回退
查看提交记录
git log
查看文件做了哪些修改(修改文件后未能git add之前可查看到修改内容)
git diff readme.txt
版本回退(回退到上一版本的两种方式),回退多个版本用第二个命令,更改数字即可
git reset --hard HEAD^
git reset --hard HEAD~1
版本恢复 (命令1查看版本号。命令2回退)
git reflog
git reset --hard 版本号
这里可以看一下廖雪峰老师讲的工作区和暂存区的知识点。不涉及操作,简单记录一下我的理解。
工作区:自己电脑本地git文件夹下的文件
暂存区:git add之后文件就会到暂存区
版本库:git commit之后文件会到版本库
图片参考来源:https://juejin.cn/post/6844903877138087950
注意⚠️:git commit只负责将暂存区的数据提交,如果数据没有经过git add提交的话,用git commit不能实现最终提交到版本库。
撤销修改:
case 1:仅在本地修改了文件,但没有提交到暂存区。即没有git add
git checkout -- readme.txt
case 2:文件已被提交至暂存区,但未提交到版本库,即已经git add,没有git commit
先回退到上一操作,即git add之前
git reset HEAD readme.txt
再利用case 1方式解决
case3:文件已经提交到版本库中,按照版本回退的方式
git reset --hard HEAD^
git reset --hard HEAD~1
⚠️:以上操作仅限于文件未被推送到远程库中!!!
3. 创建ssh
查看自己之前是否创建过ssh
cd ~/.ssh
若进入目录,且目录下有id_rsa和id_rsa.pub这两个文件,则直接跳过此如下命令,如果没有的话,打开命令行,输入如下命令创建ssh:
ssh-keygen -t rsa –C “youremail@example.com
确认完毕后程序会生成id_rsa和id_rsa.pub这两个文件,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。
将id_rsa.pub内容复制;在github和gitee中设置ssh公钥【以gitee为例】
4. 在本地添加远程库(github),⚠️在本地git目录下进行,命令中***表示你个人的GitHub账户名。
git remote add origin git@github.com:***/learngit.git
推送自己本地git的内容(-u参数将本地master分支与远程master分支关联,以后推送就不需要加-u了)
git push -u origin master
5. 在本地添加远程库(gitee)
当你用同一个本地git推送到github和gitee上时,origin会冲突。需要删除原来路径重新添加远程库。
git remote rm origin
此时再利用如下命令添加gitee远程库,⚠️在本地git目录下进行,命令中https表示你个人的Gitee仓库路径名。
git remote add origin https://gitee.com/***/learngit.git
将本地文件推送到远程仓库
git push origin master
接下来就可以再远程仓库里看到自己推送的内容啦~
本地文件推送到远程库总结:
1.建立空目录 mkdir filename
2.进入目录路径,将该目录变成本地git库。 git init
3.上传文件到暂存区 : git add file
4. 提交文件到版本库:git commit -m " 注释"
5. 为本地git添加版本库 (只需要添加一次,后续在该目录下的话不需要重复添加)
6. 推送git push -u origin master
参考: