一、概念
Git是一个用于管理源代码的分布式版本控制系统。
- 下载Git:git-scm.com/download/
- 安装Git:修改安装路径后,默认安装即可,安装完后取消勾选 "View Release Notes"
- 使用Git命令行:在本地仓库根目录->鼠标右键-> "Open Git Bash here"
- Git服务:gitee.com/、github.com/
- GitHub Destop下载:desktop.github.com/
二、git命令
1、git初始配置全局的用户名、邮箱和密码
- 查看全局配置的用户名
git config --global user.name
- 全局配置用户名
git config --global user.name 用户名
- 查看全局配置的邮箱
git config --global user.email
- 全局配置邮箱
git config --global user.email 邮箱
- 查看全局配置的密码
git config --global user.password
- 全局配置密码
git config --global user.password 密码
- 查看配置的所有信息
git config --list
2、git本地仓库常用操作
- 初始化本地git仓库,生成隐藏的.git文件夹
git init
- 查看当前状态
git status
- 添加指定的工作区文件到暂存区
git add 文件名1 文件名2 文件名3...
- 删除指定的暂存区文件而不删除工作区文件
git rm --cached 文件名1 文件名2 文件名3...
- 添加所有工作区文件到暂存区
git add .
- 查看所有工作区文件与暂存区文件对比的变更内容
git diff
- 提交所有暂存区文件到本地仓库并添加版本注释
git commit -m 提交注释
- 查看所有本地提交版本的历史列表
git reflog
- 回退到指定的本地提交版本
git reset --hard 历史列表编号
3、git远程仓库常用操作
- 查看远程仓库git地址和地址名
git remote -v
- 克隆远程仓库到本地仓库
git clone 远程仓库git地址
- 同步远程仓库对应分支到本地仓库当前分支(不合并到工作区)
git fetch
- 拉取并合并远程仓库对应分支到工作区当前分支
git pull
- 提交本地仓库当前分支的提交版本到远程仓库对应分支
git push
4、git分支常用操作
- 查看所有本地分支和远程分支,用不同颜色区分,带*的分支表示当前本地分支
git branch -a
- 创建本地分支
git branch 要创建的本地分支名
- 切换本地分支
git checkout 要切换到的本地分支名
- 把本地分支提交到远程仓库
git push --set-upstream 远程仓库地址或地址名 要推送的本地分支名
- 删除本地分支
git branch -d 要删除的本地分支名
- 删除远程分支
git push 远程仓库地址或地址名 --delete 要删除的远程分支名
- 合并要合并分支的提交版本到当前本地分支(合并完成后或合并解决冲突后,要执行git push)
git merge 要合并分支的分支名 -m 合并描述
5、其他命令或操作
- 清除控制台命令
clear
- 查看日志记录或其他记录时,如果有大量记录,会先显示一部分,持续输入回车会持续显示下一行记录,退出方式是英文模式下输入q
- 进入vim编辑模式时 ①保存并退出:按下Esc键,英文模式下输入:wq,然后按回车 ②不保存退出:按下Esc键,英文模式下输入:q,然后按回车
三、注意事项
1、git push命令出现403错误
remote: [session-ce459b81] Access denied fatal: unable to access 'xxxx': The requested URL returned error: 403
- 解决步骤:
- git config --list命令查看配置的所有信息,核对当前user信息是否与克隆的远程仓库地址的账户用户名、邮箱和密码一致
- 打开电脑控制面板 -> 用户账户 -> 凭据管理器 -> Windows凭据 -> 找到git:https//xxx开头的,xxx为对应克隆地址的域名 -> 编辑 -> 修改用户名和密码 -> 保存 -> 重新执行git push命令
2、用SSH方式下载/克隆远程仓库
- 使用git命令创建ssh秘钥,默认C盘路径和空密码即可(连续按回车),用记事本方式打开创建好的秘钥,把秘钥全部复制到 设置-> SSH公钥(或 克隆/下载 -> SSH方式)即可
ssh-keygen -t rsa -C 邮箱
3、.gitignore文件
.gitignore文件用于声明忽略或者不忽略文件的规则,规则对.gitignore所处的当前目录及其子目录生效。 常见规则写法如下:
- test.txt 忽略当前目录下的test.txt文件
- abc/ 忽略当前目录下的整个abc文件夹
- abc/demo.txt 忽略当前目录下abc文件夹里的demo.txt文件
- *.txt 忽略当前目录及子目录下的所有txt后缀的文件
- 以#开头 只用作注释,不作任何忽略或不忽略的规则
如果.gitignore规则没有生效 ①检查.gitignore文件是否为UTF-8编码 ②尝试执行命令递归地取消当前目录及子目录中所有文件的暂存并重新提交.gitignore文件,命令如下: git rm -r --cached . git add .gitignore git commit -m 'clear git cache'