远程仓库的使用
HTTPS:零配置,但每次访问需要账号和密码
SSH:需要进行额外的配置配置成功后不需要重复输入账号密码
生成SSH Key
① 打开 Git Bash
②粘贴如下的命令,并将 your_email@example.com 替换为注册Github账号时填写的邮箱:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
③连续敲击3次回车,即可在C:\Users\用户名文件夹\.ssh目录中生成 id_rsa和id_rsa.pub两个文件
④ 使用记事本打开 id_rsa.pub 文件,复制里面的文本内容
⑤在浏览累中登录Github,点击头像->Settings->SSH and GPG Keys->New SSH key
⑥ 将id_rsa.pub 文件中的内容,粘贴到Key 对应的文本框中
⑦在Title文本框中任意填写一个名称,来标识这个Key从何而来
检测Github的SSH Key是否配置成功
ssh -T git@github.com
使用SSH上传
echo "# project_test" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin git@github.com:LiuyukunGit/project_test.git
git push -u origin main
git remote add origin git@github.com:LiuyukunGit/project_test.git
git branch -M main
git push -u origin main
远程仓库克隆到本地
git clone 远程仓库地址
GIT基础命令
-
查看所有的全局配置项
git config --list --global
-
查看指定的全局配置项
git config user.name
git config user.email
-
配置用户名和邮箱
git config --global user.name "username"
git config --global user.email "useremail"
-
获取帮助信息
git help config -- 网页显示
git config -h -- 终端显示
-
GIT初始化仓库
在项目目录中打开 Git Bash
执行git init即可将当前目录转换为Git仓库
-
检查文件的状态
git status
-
以精简方式显示文件状态
git status -s
git status -short
??:表示未跟踪的文件
A:表示暂存区
M:修改过但未放到暂存区
-
跟踪新文件,添加到暂存区
git add 文件名
-
终端清空
clear
-
提交更新
git commit -m "描述信息"
-
撤销对文件的修改
git checkout -- 文件名
-
向暂存区一次添加多个文件
git add .
-
取消已暂存的文件
git reset HEAD 要移除的文件名
-
取消全部已暂存的文件
git reset HEAD .
-
跳过使用暂存区 工作区直接到Git仓库
git commit -a -m "描述信息"
-
移除文件
从Git仓库和工作区中同时移除文件
git rm -f 文件名
只从Git仓库中移除文件,保留工作区中的文件
git rm --cached 文件名
-
忽略文件 .gitignore
以 # 开头是注释
以 / 结尾是目录
以 / 开头为防止递归
以 ! 开头表示取反
可以使用glob模式进行文件和文件夹的匹配(glob 指简化了的正则表达式)
*:匹配零个或多个任意字符
[abc]:匹配任何一个在方括号中的字符
?:匹配一个任意字符
再方括号中使用短划线分隔两个字符,表示所有在这两个字符范围内的都可以匹配(比如[0-9]表示0-9所有的数字)
**:表示匹配任意中间目录(例如:a/ * * /z可以匹配a/z、a/b/z、a/b/c/z
-
查看提交历史
按提交顺序查看
git log
展示最新的两条
git log -2
在一行上展示最近两条提交的历史信息
git log -2 --pretty=oneline
在一行上展示最近两条提交的历史信息并自定义输出格式
%h 提交简写的哈希值 %an作者的名字 %ar作者修订日期 ,按多久以前的方式显示 %s提交说明
git log -2 --pretty=format:"%h | %an | %ar | %s"
-
回退到指定的版本
在一行上展示所有提交历史
git log --pretty=oneline
使用git reset --hard 命令,根据指定的提交ID回退到指定版本
git reset --hard <提交ID>
在旧版本中使用git reflog --pretty=oneline 命令,查看命令操作的历史
git reflog --pretty=oneline
再次根据最新的提交ID,跳转到最新的版本
git reset --hard <提交ID>
分支
-
查看分支列表
git branch
-
创建新分支
git branch 分支名称
-
切换分支
git checkout 分支名称
-
分支的快速创建和切换
git checkout -b 分支名称
-
合并分支
git checkout master
git merge 分支名称
-
删除分支
git branch -d 分支名称
-
将本地分支推送到远程仓库
git push -u 远程仓库名 本地分支名称:远程分支名称
如果希望命名一致
git push -u origin 分支名称
-
查看远程仓库中所有的分支列表
git remote show 远程仓库名称
-
跟踪分支:从远程仓库,把分支下载到本地仓库中
git checkout 远程分支名称
下载后重命名
git checkout -b 本地分支名称 远程仓库名称/远程分支名称
-
拉取远程分支最新代码
git pull
-
删除远程分支
git push 远程仓库名称 --delete 远程分支名称