记录 Git & GitHub 一些使用方法
Git 基本操作
SSH key
- 创建 SSH key
复制 key 到 Github SSH 设置中
验证连接
配置用户名、email、默认文本编辑器
git config --global user.name "Frank"
git config --global user.email "812359326@qq.com"
git config --global core.editor gedit
Check config
工作区、暂存库、版本库
进入仓库、初始化
克隆仓库
Git基本操作命令
提出更改,添加到暂存区
查看仓库当前的状态,显示有变更的文件
比较文件的暂存区和工作区的差异
改动提交到 HEAD 版本库, 但还没到远端仓库
回退版本,可以指定退回某一次提交的版本
--soft 参数用于回退到某个版本, 只进行对commit操作的回退,不影响工作区
--hard 参数撤销工作区中所有未提交,将暂存区与工作区都回到上一版本
--mixed 为默认,可以不用带该参数,重置暂存区与上一次的commit保持一致,工作区文件内容保持不变
删除文件
不带参数时,将文件从暂存区和*工作区中删除
-- cached 文件仅从暂存区域移除,工作目录保留
查看历史提交记录
添加远程仓库
删除远程仓库、重命名远程仓库
查看当前配置的远程仓库
把远程仓库master分支下载到本地并存为temp分支
合并本地的temp分支和master分支
拉取远程代码并合并
推送代码至远程并合并
Git分支管理
Git分支
创建分支
- 不带[branchname]时,列出所有分支
删除分支
切换分支
-b 表示创建新的分支并切换到该分支下
切换分支的时候,Git 会用该分支的最后提交的快照替换你的工作目录的内容,所以多分支不需要多个目录
切换远程分支
列出远程所有分支:
拉取所有信息:
切换到远程分支:
将temp分支和本地的master分支合并
- --allow-unrelated-histories 参数会允许合并无关历史,当远程版本远高于本地版本时,可能需要
Fork后本地项目同步他人更新
Git可能会出现的问题
鉴权失败
用户名和密码的登录方式失效,需要到 Dev Settings 设置 Token.
每次 pull/push 都要鉴权
无法合并
本地版本太老,先远程下载分支,然后本地合并:
想要忽略某个文件(文件夹)
使用 .gitignore 文件
已经上传至版本库后,想要忽略某个文件(文件夹)
git清除本地缓存(改变成未track状态),然后再提交