# git **Repository Path**: github-23501489/git ## Basic Information - **Project Name**: git - **Description**: git 指令 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-01-06 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # git 笔记 ## git 创建公钥 1. 打开终端(git)进入.ssh目录 ``` cd ~/.ssh ``` 如果.ssh文件夹不存在,执行指令自动创建 mkdir ~/.ssh 2. 生成RSA密钥对 ``` ssh-keygen -t rsa -C "你的邮箱@xxx.com" ``` 为了方便全程回车即可(不用输入ras文件名及密码) 三次回车即可生成 ssh key 3. 查看公钥内容 ``` cat ~/.ssh/id_rsa.pub ``` ***将公钥内容(全部)复制并粘贴(注意:公钥内容以ssh-rsa开头)*** ``` 粘贴地址 https://gitee.com/profile/sshkeys ``` 4. 添加公钥完成后进行测试SSH链接 ``` ssh -T git@gitee.com ``` 当终端提示welcome to Gitee.com,yourname!表示链接成功 --------------- ## 配置git 1. 配置命令 ``` git config --global user.name "git账户名称" git config --global user.email "git邮箱" ``` **查看配置信息 ** git config --list 2. 初始化git仓库 ``` git init ``` 3. 添加记录文件 **工作区----->暂存区** ``` git add ”文件名“ git add . --->添加所有文件到暂存区 ``` 4. 将暂存区提交到本地仓库 ``` git commit -m "添加修改说明" git commit --amend -m "修改说明内容" --->修改提交说明 ``` **修改最后一次提交说明,可追加文件到最后一次提交** git commit --amend -m "修改说明内容" --->修改提交说明 **查看状态** git status **查看日志** git log ---- # git 提交远程仓库 1. 远端创建仓库(网页操作) 2. 本地仓库关联远程仓库 ``` git remote add origin https://gitee.com/github-xxxx/xxx.git --->码云关联远程仓库 ``` 3. 推动远程仓库 *第一次推送远程仓库* git push -u origin master --->推送本地仓库到远程仓库 第一次使用需要使用-u *非第一次推送远程仓库* git push origin master --->非第一次推送本地仓库 **查看远程库信息** git remote -v **删除已有的GitHub远程库** git remote rm origin --- # 拉取远程仓库 1. 克隆仓库 ``` git clone git@gitee.com:xxxxx/xxx.git --->克隆远程仓库到本地 ``` 2. 创建本地新分支 ``` git checkout -b dev  在本地创建一个分支 ``` 3. 设置本地分支与远程仓库同步 ``` git branch --set-upstream-to origin/dev   设置和远程仓库分支同步 ``` 4. 拉取远程分支代码 ``` git pull origin master --->拉去远程仓库 ``` --- # 创建分支 |编号|分支|说明| |-|-|-| ||Master|发布版分支| ||Hotfix|补丁分支| ||Release|内部发布版| ||Develop|开发分支| ||Feature|功能分支| git branch 分支名 --->创建分支 git checkout 分支名 --->切换分支 git merge 分支名 --->合并分支 需要加入分支使用该命令 ---- # 修改远程代码 1. 创建本地分支 ``` git branch 分支名 ``` 2. 切换分支 ``` git checkout 分支名 ``` 3. 拉取远程仓库 ``` git pull orger master ``` 4. 修改并提交 ``` git add git commit ``` 5. 切换到主分支 ``` git checkout master ``` 6. 合并修改分支到主分支 ``` git merge 分支名 ``` 7. 提交到远端分支 ``` git push origin master ``` ---- # 版本回滚 工作区-------git add---->------暂存区---------git commit -m --->--------版本仓库 工作目录---git checkout----<-------暂存区-----------git reset ----<-------版本仓库 恢复成暂存区上一版本 git reset HEAD~ --->内容回滚到暂存区 git reset 快照ID --->回滚指定版本 git reset 快照ID 文件名/路径 --->回滚指定文件到当前版本 (只回复到暂存区 --hard可以恢复到工作区) 1.git reset --soft HEAD --->版本库HEAD指针指向上一版本 只是移动了一次指针 2.git reset --mixed HEAD --->版本库HEAD指针指向上一版本 HEAD移动后版本代码回滚到暂存区(默认) 3.git reset --hard HEAD --->版本库HEAD指针指向上一版本 HEAD移动后版本代码回滚到暂存区 暂存区文件回滚到工作目录(危险性指令) git reset --hard 版本号 # 版本比较 git diff --->工作目录 和 暂存区 比较 git diff 快照ID --->工作目录 和 版本仓库快照 比较 git diff --cached [快照ID] --->暂存区 和 版本仓库快照 比较 git diff 快照ID1 快照ID2 --->比较仓库 历史快照 即两个版本 工作区树 暂存区树 版本仓库树 文件提交暂存区 暂存区提交到版本库 工作目录---git diff---->-------暂存区------git diff --cached ------->-----版本仓库 ...|---------------------->-------------------git diff---------------->------------| # 彻底删除文件 git rm --cached 文件名 --->删除暂存区文件 git rm 文件名 --->删除工作区和暂存区文件 不删除仓库快照 可以通过(git checkout -- 文件名) 恢复到本地 git reset --soft HEAD --->修改仓库指针 # 重名名 git mv 旧文件名 新文件名 --- # win10 无法创建 .gitignore 1.在本地仓库目录下创建文本文件,文件名称随意 2.打开powershell命令窗口,输入以下命令 ren 创建的文本文件全称 .gitignore 3.如何打开powershell窗口   在文本文件所在的目录下,按住shift键,然后右击,在弹出的菜单栏中选择"在此处打开powershell窗口" --- # GIT使用log命令显示中文乱码 1、运行Git Bash窗口,在该窗口导航条(即最上面)右键,选择Options−>Text,找到下面两处 ```   Locale:选择 zh_CN   Charector set:选择 UTF-8 ``` 2、到Git Bash命令窗口输入如下设置命令语句 ``` git config --global i18n.commitencoding utf-8 --注释:该命令表示提交命令的时候使用utf-8编码集提交 git config --global i18n.logoutputencoding utf-8 --注释:该命令表示日志输出时使用utf-8编码集显示 export LESSCHARSET=utf-8 --注释:设置LESS字符集为utf-8 ``` 设置完成后,发现使用git log后,之前提交代码的中文注释正确显示出来。