Git概述
-
Git版本控制
- Git是一个版本管理控制系统(缩写VCS),它可以在任何时间点,将文档的状态作为更新记录保存起来,也可以在任何时间点,将更新记录恢复回来。
-
基本工作流程
| git仓库 | 暂存区 | 工作目录 | | ---------------- | ----------------- | ------------------- | | 用于存放提交记录 | 临时存放被修改文件 | 被Git管理的项目目录 | -
Git进入项目目录
- 直接在控制台里面输入
cd g:/code/A/git-demo - 在目标项文件夹内鼠标右击,点击
Git Bash Here
- 直接在控制台里面输入
-
Git内的复制粘贴快捷键
Ctrl+ins复制Shift+ins粘贴
Git基本使用
-
使用前配置:在使用 git 前,需要告诉 git 你是谁,在向 git 仓库中提交时需要用到。
- 配置提交人姓名:
git config --global user.name 提交人姓名 - 配置提交人姓名:
git config --global user.email 提交人邮箱 - 查看git配置信息:
git config --list
- 配置提交人姓名:
-
配置修改
- 如果要对配置信息进行修改,重复上述命令即可。
- 配置只需要执行一次。
-
Git提交步骤
git init初始化git仓库git status查看文件状态git add 文件列表追踪文件,将文件放入暂存区git add .添加当前目录的所有文件到暂存区git commit -m 提交信息向仓库中提交暂存区所有代码git commit 文件列表 -m 提交信息向仓库中提交暂存区的指定文件git log查看提交记录
-
Git撤销操作
git checkout 文件用暂存区中的文件覆盖工作目录中的文件git rm 文件删除工作区文件,并且将这次删除放入暂存区git rm --cached 文件将文件从暂存区中删除,但该文件会保留在工作区git mv 源文件名 新文件名改名文件,并且将这个改名放入暂存区git rest --hard commitID将 git 仓库中指定的更新记录恢复出来,并且覆盖暂存区和工作目录- 更新记录用
git log查看
- 更新记录用
-
Git暂存区查看
git ls-files查看暂存区内的文件目录git ls-files -s查看暂存区内所有文件对应的Blob对象git ls-files -s -- 文件查看暂存区内文件对应的Blob对象git cat-file -p Blob对象值查看Blob对象值的内容
-
Git分支命令
git branch查看分支git branch -a列出所有本地分支和远程分支git branch 分支名称创建分支git checkout -b 分支名称新建一个分支,并切换到该分支git checkout 分支名称切换分支,并更新工作区git checkout -切换到上一个分支git merge 来源分支合并分支git branch -d 分支名称删除分支(分支被合并后才允许删除)(-D 强制删除)
-
Git暂时保存更改
git stash存储临时改动,将暂存区内的内容临时存储与剪切板,以便于可以跳转到其他分支进行操作git stash pop恢复改动,重新回到开发分支时,将剪切板内的内容释放至暂存区
Git BUG处理
-
fatal: Unable to create 'D:/Program Files/Git/.git/index.lock': File exists.
- git操作时修改了一些文件,导致操作冲突被锁住了
- 解决方案:删掉该文件
rm -f /.git/index.lock
-
fatal: not a git repository (or any of the parent directories): .git
- 一般是没有初始化git本地版本管理仓库,所以无法执行git命令
- 解决方法:操作之前执行以下命令行:
git init - 然后执行一下
git status查看状态信息
GitHub
-
本地仓库推送至远程仓库
git push 远程仓库地址 分支名称将本地仓库分支推送至远程仓库git remote add 远程仓库地址别名 远程仓库地址给远程仓库地址取代号git remote -v查看仓库地址代号git push 远程仓库地址别名 分支名称用别名将本地仓库分支推送至远程仓库git push -u 远程仓库地址别名 分支名称记住推送地址及分支,下次推送只需要输入git push即可
-
远程仓库克隆至本地
git clone 仓库地址克隆远端数据仓库到本地- 本地没有仓库
git pull 远程仓库地址 分支名称拉取远程仓库中最新的版本- 本地已存在仓库
-
GitHub共同开发
Settings可以邀请协同者共同完成项目
-
解决冲突
pull先拉取远程仓库中最新的版本- 找到受冲突的代码段,删除多余部分,修改完成
push将本地仓库分支推送至远程仓库
-
Git忽略清单
- 在目录中新建文件
.gitignore - 将不需要git管理的文件写入
.gitignore中
- 在目录中新建文件
-
GitHub跨团队协作
Fork程序员C将程序员A的项目克隆在本地进行修改- 程序员C将优化后的仓库推送至远程
- 程序员C发起
Pull requests请求 - 程序员A审核代码
- 程序员A
Merge pull request合并更新代码库
-
SSH密钥生成
ssh-keygen生成秘钥C:Users用户.ssh秘钥存储目录id_rsa.pub公钥名称id_rsa私钥名称
-
GitHub SSH免登录
- 私钥保留于计算机本地
- 公钥配置与GitHub
- GitHub 账户设置
SSH and GPG keys栏目- 点击
New SSH key - 将公钥内的内容粘贴至 Key 选框中
- 配置仓库:在复制仓库地址时,切换至
Use SSH
-
为仓库添加详细的说明
- 在项目中添加一个
readme.md文件 - 推送至远程仓库
- 在项目中添加一个