git是个版本管理软件,可与github、gitlab、gitee仓库平台连接,实现个人或多人协同工作。(码云网站底部有一些git学习的链接)。
好像mac系统是自带的,win的话直接在网上下载安装程序,新手无脑点击下一步即可。
如果官网下的慢,就去淘宝镜像下载(自行百度)。
环境变量:经常有人问安装完后需不需设置环境变量。其实在安装的过程中有问是否自动设置环境变量的,当然也可以自己手动设定。环境变量的作用就是能让git在全局任意文件下,通过命令行直接使用,但是有了右键的git bash就可配可不配了。
我目前用win系统,所以用的是自带的或者cmder,推荐git自带右键GIt Bsh Here。
会出现一个终端窗口,是以linux的命令行形式使用(关于颜色:绿色是程序,蓝色是文件夹,白色是文件)。
这里放一些linux基本指令:
cd xx/xx 到下级目录 cd .. 回到上级 pwd 显示当前目录 clear 清屏 win是cls ls 列出所有文件 touch xxx 新建文件 rm xxx 删除文件 mkdir xxx 创建文件夹 rm-r xxx 删除文件夹 rm-rf / 从根文件递归删除,格式化电脑 -r是递归 f是强制 /是根 mv a b 把a移入b history 查看历史命令
这里放一些git的好用指令:
code . 可以启用vscode打开此项目
git会有4个分区,各司其职。
当你的工程使用上git的时候,文件夹会出现一个隐藏文件.git,这里面就存放着所有分区的记录信息等,目前只需要知道index是暂存区,HEAD存储当前分支的关联即可。
解释图 ↑
.git的删除与安装
git init
,如果是用git clone
克隆远程的分支就不需要初始化。rm -rf .git
或直接删除.git文件。注意:以下操作必须是与远程仓库建立连接了。
拉取方法
git clone 项目地址
,地址需要到仓库上复制,克隆下来后会自动与仓库建立连接。如果选择ssh的话就不用每次提交输入密码。git pull
,拉到工作区上直接合并。git fetch 仓库名 分支
,拉取某分支,到本地仓库创建一个分支。推送方法
git add 文件名
单独提交或者git add .
表示你修改过和新添加的文件都会提交。未add的文件会显示untraged,表示未跟踪的状态。git commit -m '这里写提交的描述'
,-m 表示携带注释信息message。git push 仓库名 分支名
,如果已经关联远程分支了,直接git add
即可。附一张图解:
其他指令
git log
。git status
,每个文件会有不同状态,先记没有add过的,为未追踪状态。ls -al
。所有分支其实都是平级的,会默认选取一条分支作为主干道,例如master(main),主分支一般都是用于大的版本迭代,在版本与版本的迭代过程中,会创建其他的子分支作为开发者的开发分支,每次子分支和主分支的合并,都是一次大版本迭代;
增
功能 | 指令 |
---|---|
创建本地分支 | git branch 分支名称 |
创建本地分支并默认选中 | git checkout -b 分支名称 |
将某分支合并到目前使用的分支 | git merge 某分支名称,例如拉远程的git merge origin/master |
push到自己的本地分支上 | git push origin 分支名称 |
删
功能 | 指令 |
---|---|
删除分支 | git branch -d 分支名称 |
查
功能 | 指令 |
---|---|
查看本地分支 | git branch |
查看远程分支 | git branch -r,可以用来看远程分支路径要怎么写 |
查看本地和远程分支 | git branch -a |
查看本地分支和最后一次提交记录 | git branch -v |
查看本地分支和远程分支的映射关系 | git branch -vv |
如果没看到分支,说明并没有生成分支,因为没有任何commit就没有任何分支,提交第一个commit后git会自动创建master分支。
改
功能 | 指令 |
---|---|
切换分支 | git checkout 分支名称,注意要提交后再切换 |
修改master名称 | git branch -M xxx |
本地分支关联到远程分支 | git branch --set-upstream-to origin/远程分支名 本地分支名 |
在关联远程分支的时候,如果出现“error: the requested upstream branch ‘origin/master‘ does not exist”,就先需要拉取你要关联的那个远程分支
git pull origin master --allow-unrelated-histories
。
增
功能 | 指令 |
---|---|
添加(链接)仓库 | git remote add 仓库名 自定义仓库地址,如果已经有其他文件夹已关联某个远程分支,只需要将这个文件夹中的.git文件夹拷贝到新项目文件夹,也能完成远程分支的关联。 |
删
功能 | 指令 |
---|---|
删除仓库 | git remote rm 仓库名 |
查
功能 | 指令 |
---|---|
查看已关联仓库的名字 | git remote |
查看已关联仓库地址 | git remote -v |
查看remote所有指令 | git remote --help |
改
功能 | 指令 |
---|---|
修改仓库的名字 | git remote rename 旧名字 新名字 |
修改仓库地址 | git remote set-url 仓库名 新地址 |
功能 | 指令 |
---|---|
查看默认的配置 | git config -l |
查看系统级配置 | git config --system --list,在git文件夹的etc\gitconfig 中 |
查看本地自己配置的(如账户、邮箱) | git config --global --list,在c盘用户配置文件夹中的gitconfig |
设置账户 | git config --global user.name “xxxx”,和下面那个指令一起,就是说明这个项目的制作者是谁,这一步也可以不操作,提交时会有提醒的。 |
设置邮箱 | git config --global user.email xxxx |
生成公钥 | ssh-keygen -t rsa,输入信息后,会在用户文件夹.ssh文件中生成两个文件,把带有pub的文件中的文本粘贴到git平台的ssh设置上,保存。 |