Git命令查询手册 -- 个人简版(在Github/Gitee中的示例)
概述
部分资料摘抄自网络。
介绍GitHub和Gitee的git基本使用配置流程;整理使用中的常用Git命令。
Git使用
git原理简介
仓库:本地仓库和远程仓库(托管在网络端的仓库)
本地仓库:工作区丶版本区,其中版本区包含暂存区丶仓库区
从本地仓库将文件git到远程仓库流程:工作区----> 暂存区 ----> 仓库区 ----> 远程仓库
Git常用操作命令
本地仓库操作
本地仓库=工作目录+暂存区(Index)+HEAD
git init //在当前目录生成.git目录,该目录为仓库;当前目录为工作空间
touch README.md //生成README.md文件,是关于工程代码的介绍,类似于说明书
git add TEADME.md //将README.md添加到索引库
git add . //在项目目录下执行或git add <file>
git commit -m "xxx"
git push //本地文件推送到远程仓库origin中
git status //查看提交状态
git diff <文件全称> //查看该文件和git仓库中的文件区别
git reset --hard head origin/master //版本回退
git rm -r <file> //不删除本地文件夹,删除缓冲
git rm -r --cached "/d/github/repository/xx" //移除已add到缓存区中的文件
远程仓库操作
git clone /path/to/repository //克隆本地仓库
git clone username@host:/path/to/repository //克隆服务器仓库
git remote -v //查看当前所有远程地址别名
git remote add [别名] [远程仓库地址] //添加远程仓库
git remote set-url [别名] [远程仓库地址] //修改远程仓库地址
git fetch [别名] //抓取远程仓库已有但本地没有的信息
git fetch origin master:temp //远程仓库更新到本地新建的temp分支
git diff temp //比较temp与本地仓库
git merge temp //更新合并至本地仓库
git push -u origin master //本地文件推送到远程仓库origin的分支master中
git reset --hard origin/master //强制覆盖本地代码
git diff --stat master origin/master //统计文件改动
分支操作
分支用来将特殊性开发绝缘开来,单独处理。创建仓库时,master时默认主分支,在其他分支以上开发完成后,再合并到主分支。
git branch //查看分支信息
git branch <branch> //分支创建
git checkout -b <branch> //创建分支并切换
git checkout master //切换回主分支
git merge <branch> //合其他并分支至当前分支,可能产生冲突
git add <filename> //标记冲突解决
git diff <source_branch> <target_branch> //合并改动前预览差异
git branch -d <branch> //删除分支
git push origin <branch> //推送到远端仓库
其他
git tag 1.0.0 sdfj234sd //为软件发布创建标签,字符串为标准提交ID的前10位字符
#回滚至历史版本
git log //查找需要回滚的提交点,复制hash
git reset --hard commit_hash
git push origin HEAD --force
Git与GitHub简要版配置使用指南
注册账号 & 创建远程仓库
可自行按照官方指引流程注册创建,不再赘述。
GitBash本地安装初始化
在官网下载windows版客服端并安装 https://gitforwindows.org/
按照安装指引,使用默认选项,不断下一步即可。注意安装目录为全英文。
GitHub使用
- 创建本次仓库存储文件夹,鼠标右键选择Git Bash Here,打开GitBash(windows版下的命令行终端,命令与linux一致)
- 本地创建一个ssh key,查看并配置到GitHub/Gitee个人信息的SSH公钥中。
$ ssh-keygen -t rsa -C "your_email@youremail.com" //回车生成 ssh key
$ cat ~/.ssh/id_rsa.pub //查看public key,然后复制黏贴至GitHub
$ ssh -T git@github.com //添加后,在终端输入,检测是否连接成功
- 设置全局信息(用户名\邮箱地址)
$ git config --global user.name "yourname"
$ git config --global user.email "youremail@youremail.com"
- 初始化本地仓
第一种方式,直接从github上克隆远程仓库至本地
$ git clone https://github.com/yourname/repository.git
第二种方式,本地初始化,然后绑定到远程仓库
$ cd d:/localRep
$ git init
$ git remote add origin <远程仓库地址>
- 更新到远程仓库
在本地进行编辑后,更新到远程仓库
git add . //提出更改,文件添加至本地的暂存区
git commit -m "xxx" //提交更改,提交至HEAD
git push origin master //提交至远程仓库,master可换成其他分支
- 从远程仓库更新到本地
$ git pull origin master
错误提示与处理
- 执行“ssh -T git@github.com”连接github时:ssh: connect to host github.com port 22: Connection timed out
解决方法:进入git安装目录,找到/etc/ssh/ssh_config文件,在文件后面添加如下内容并报错。(user为登录github的账户名)
Host github.com
User YourEmail@YourEmail.com
Hostname ssh.github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa Port 443
- fatal: Not a git repository (or any of the parent directories): .git
产生原因:没有初始化git本地版本管理仓库,所以无法执行git命令
解决方法:操作之前执行初始化命令行:git init