Git基础
软件安装
https://git-scm.com/download
初始化
git config --global user.name "Your Name"
git config --global user.email "email@example.com"
创建版本库
进入库文件夹(目录)下右键Git Bash Here
git init
修改与提交
git add filename
git commit -m "注释说明"
查看提交日志
git log
或 git log --pretty=oneline //单行显示
版本回退
git reset --hard head^ //一个^代表回退到上一个版本
git reset --hard head^^ //两个^回退到上上一个版本,以此类推
git reset --hard head~10 //回退到往前十个版本
版本还原
git reset --hard f92b5 //commit id的位数要求只要能区分即可
Git的版本切换其实是挪动HEAD
指针,HEAD
指向的版本就是当前版本
查看命令历史,便于找到因为版本变化而丢失的commit记录
git reflog
工作区中里的隐藏目录 .git
其实是版本库(Repository)。版本库里有暂存区stage(或index),以及Git自动创建的第一个分支master
,指向master的第一个指针即为HEAD
。
当我们把文件往Git版本库中添加时需要两步走:
第一步:git add
实际上就是将文件修改添加到缓存区;
第二步:git commit
实际上就是将缓存区的所有内容提交到当前分支(仓库)。
git status
做两次对比,对比工作区与暂存区,再对比暂存区与仓库,若不同则输出差别,若相同则输出clean
。
例如:
如图此时修改了库的内容,但是没有进行git add
,所有状态是untracked
。
当git add
并git commit
后:
状态变为clean
,即“干净”的工作区。
若未git add
到暂存区,需要撤销对工作区的修改,回到最近一次git add
或git commit
时候的状态,只能用来撤回对已有文件内容的修改,文件的新建和删除无法撤销,使用:
git checkout -- filename
若已git add
到暂存区,但未提交,需要撤销git add
的操作,使用:
git reset HEAD fielname
提交删除文件操作
git rm filename
GitHub的使用
一、准备工作
(1)创建SSH Key(若已存在一般在C:/users/username/.ssh
下,其中id_rsa.pub
是公钥,id_rsa
是私钥),若不存在可通过Git Bash创建:
ssh-keygen -t rsa -C "umail@exmple.com"
(2)登录GitHub添加Add SSH Key
GitHub上免费托管的Git仓库任何人都可以看到(不要放敏感数据),但只有自己可以修改。若不想让别人看到则需要交保护费让GitHub把自己公开的仓库私有化。或自己动手搭一个Git服务器。
二、添加远程库
登录GitHub,添加远程库Add Repository
,需要自己起个仓库名称即可。
添加后的仓库是空的,需要在本地的仓库下运行命令:
git remote add origin https://github.com/xxx/xxxrepo_name.git //关联数据库
git branch -M main
//挂了梯子需要加,IP和端口号在梯子界面下面找
git config --global http.proxy http://127.0.0.1:10809
git config --global https.proxy http://127.0.0.1:10809
//然后push
git push -u origin main
输入GitHub的账号和密码通过验证:
远程仓库创建完成!
三、删除远程库
查看远程库信息
git remote -v
然后根据名字删除库
git remote rm origin
此处的删除只是解除了本地与远程的绑定关系,并不是物理上地删除了远程库。远程库本身并没有任何改动,要真正删除远程库,需要登录到GitHub,在后台页面找到删除按钮再删除。
四、后续提交
origin
是关联远程库时的默认习惯命名(是远程仓库的简写或者引用),gitfly
是自己起的仓库名。
关联后,使用该命令第一次推送master分支的所有内容
git push -u origin master
此后,每次本地提交后,可使用该命令来推送新的修改
git push origin master
从远程仓库克隆
先在GitHub创建一个新仓库(选上自动创建README.md
文件):
远程库准备好后,使用命令克隆一个本地库:
git clone https://github.com/username/xxx.git
本地库也出现README.md
,成功绑定:
内容参考-https://www.liaoxuefeng.com/wiki/896043488029600