1. git整体操作流程
1.1 基础配置
-
下载安装git
下载地址:https://git-scm.com/download/win
-
查看是否安装成功
git --version
-
git初始化配置
- 配置本地仓库签名——用于识别代码仓库个人信息
# 设置用户名 git config --global user.name 名称 # 是在用户邮箱 git config --global user.email 邮箱
1.2 配置密钥 实现远程免密登录
-
git bash中生成私钥
ssh-keygen -m PEM -t rsa -C "邮箱"
-
路径下找到id_rsa.pub打开并复制其中内容
C:\Users\sepy2.ssh
-
将复制的内容粘贴到源层仓库的密钥
-
点击add key完成
-
生成密钥的种类
# 1. 设置自己的邮箱+三次回车确认 # 1.1 私钥是open格式 ssh-keygen -t rsa -C “配置自己邮箱” # 1.2 私钥是rsa形式 ssh-keygen -m PEM -t rsa -C "邮箱" # 1.3 提示信息要求输入密码:可以不输入为空 Enter passphrase (empty for no passphrase): # 1.4 完成提示 Your identification has been saved in /c/Users/you/.ssh/id_rsa. # Your public key has been saved in /c/Users/you/.ssh/id_rsa.pub. # The key fingerprint is: # 01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db your_email@example.com # 2. 查看用户信息配置情况 git config --list
1.3 从远程仓库拉取代码
-
复制远程仓库链接
-
选取要防止仓库的路径,打开git bash
git clone "链接"
1.4 将本地代码推送到远程仓库
-
一般步骤
# 0.复制git远程仓库的地址 # 1.git bash本地初始化版本库 git init # 2.添加文件 git add . # 3.提交版本库+备注 git commit -m "first commit" # 4.远程库关联 git remote add origin 你的远程库地址 # 5.先拉去远程仓库的代码——冲突时候使用参数 --allow-unrelated-histories 强制合并 git pull origin master git pull origin master --allow-unrelated-histories # 6.第一次推送 ## 6.1可以使用-u选项指定一个默认主机,这样后面就可以不加任何参数使用git push git push -u origin master # 7.之后推送 git push origin master
1.5 遇到的问题
1.5.1 Push to origin/master was rejected:推送时候被拒绝
-
解决
git pull origin master --allow-unrelated-histories git push -u origin master -f
1.5.2 failed to push some refs to:推送失败
-
解决
# 1.强制push ## 1.1这样会使远程修改丢失,一般是不可取的,尤其是多人协作开发的时候 git push -u origin master -f # 2.push前先将远程repository修改pull下来,在推送 git pull origin master git push -u origin master # 3.若不想merge远程和本地修改,可以先创建新的分支,在推送 git branch [name] git push -u origin [name]
1.5.3 分支冲突:fatal: refusing to merge unrelated histories
-
解决——强制推送
git pull origin master --allow-unrelated-histories git merge master --allow-unrelated-histories
1.5.4 拉取失败:error: failed to push some refs to
-
解决
git pull --rebase origin master git push -u origin master
1.6 其他命令
1.6.1 查看本地git信息,同时修改对应信息
# 1.查看当前登录用户名:
git config user.name
# 2.查看当前登录邮箱:
git config user.email
# 3.修改用户名和邮箱:
git config --global user.name “xxx”
git config --global user.email “xxx”
# 4.查看用户配置信息
git config --list
1.6.2 修改本地git密码
# 1. 获取当前登陆用户
# 1.1 获取当前登录的用户和邮箱
git config user.name
git config user.email
# 2. 修改登陆用户
git config --global user.name 'userName' // 修改登陆账号,userName为你的git账号
git config --global user.email 'email' // 修改登陆邮箱,email为你的git邮箱
git config --global user.password 'password' // 修改登陆密码,password为你的git密码
# 3.清理本地缓存
git clean -df
1.6.3 切换git用户
# 1.查看当前用户
git config user.name
# 2.查看当前邮箱
git config user.email
# 3.修改用户
git config --global user.name "sepy"
# 4.修改邮箱
git config --global user.email "sepy236726@163.com"
1.6.4 分支操作
# 1.创建分支
git branch 分支名
# 2.查看分支
git branch -v
# 3.切换分支
git checkout 分支
# 4.指定分支合并到当前分支
git merge 分支名
1.6.4 索引指针移动
# 1.查看历史版本
git log # 版本详细信息
git reflog # 版本信息
# 2.移动指针到指定版本
git reset --hard 版本号
git reset --hard 索引值局部
git reset --hard a6ace91
# 3.其他操作
git log --pretty=oneline # 每个历史只显示一行(hash值和日志)
git log --oneline # 每个历史只显示一行且显示hash的部分值
git reflog # 显示历史只显示一行,并且显示指针(要移动到版本多少步)
# 4.