Git 使用指南
2022/9/10 3:23:02
本文主要是介绍Git 使用指南,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
基础配置
作用范围
配置生效范围从小到大有三种,分别是 local
,global
,system
参数 | 作用范围 |
---|---|
local | 对某个仓库生效 |
global | 对当前用户所有仓库生效 |
system | 对系统所有登录的用户生效 |
常用配置
# 查看配置 git config --global --list # 编辑配置 git config -e [--global] # 设置提交代码时的用户信息 git config --global user.name '[name]' git config --global user.email '[email address]'
解决中文乱码
# 解决中文乱码问题 git status git config --global core.quotepath false # 解决中文乱码问题 gitk git config --global gui.encoding utf-8
关闭 TLS/SSL 验证(本地部署时常用)
# To disable TLS/SSL verification for a single git command git -c http.sslVerify=false clone https://example.com/path/to/git # If the repository is completely under your control, you can try: git config --global http.sslVerify false
开启代理
# 只对github.com git config --global http.https://github.com.proxy socks5://127.0.0.1:1080 # 取消代理 git config --global --unset http.https://github.com.proxy
创建公钥
# 生成ssh_key密钥 ssh-keygen -t rsa -C "your_email@example.com" # 生成ssh_key密钥(ED25519 算法) ssh-keygen -t ed25519 -C "your_email@example.com" # 将生成的公钥推送至服务器 ssh-copy-id root@192.168.8.95 # windows复制生成的公钥 clip < ~/.ssh/ # mac复制生成的公钥 pbcopy < ~/.ssh/ # Linux复制生成的公钥 xclip -sel clip < ~/.ssh/
常用命令
获取帮助
# 通过浏览器 查看命令 git help --web [command]
初始化
# 初始化仓库 git init
单个文件增删改
# 讲工作区的文件添加到暂存区 git add [file] # 讲工作区所有已经被git管控的文件提交到暂存区 git add -u # 讲已被git管理的文件移除git管理 git rm [file] # 变更文件名 git mv [oldFileName] [newFileName]
提交版本
# 携带描述提交文件到版本历史库 git commit -m 'description' # 讲工作区里的文件携带描述直接提交到版本历史库 git commit -am 'description' # 提交时显示所有diff信息 git commit -v
查看日志
# 查看HEAD移动历史 git reflog # 查看日志 git log # 查看该分支的日志 git log [branch] # 展现[number]条日志 git log --n[number] # 查看全部分支的全部日志 git log --all # 图形化展示日志 git log --graph # 仅查看日志描述 git log --oneline # 查看简要日志,适合查看修改 git log --stat # 查看详细日志,适合做代码review git log -p
查看改动内容
工作区比较暂存区:git add
提交内容 git diff
暂存区比较版本历史库上一条提交:git commit
提交内容 git diff --cached
工作区比较版本历史库上一条提交:git commit -a
提交内容 git diff HEAD
# 比较工作区和暂存区 git diff # 比较暂存区和上一条提交 git diff --staged # 比较暂存区和HEAD的差异 git diff --cached # 比较工作目录和上一条提交 git diff HEAD # 比较HEAD和HEAD的前n个 git diff HEAD [HEAD-number] # 比较HEAD和HEAD的父亲 git diff HEAD HEAD^ # 比较HEAD和HEAD父亲的父亲 git diff HEAD HEAD^^
查看提交改动内容
# 查看当前 commit git show # 查看任意一个 commit git show HASH
分支操作
# 创建/切换分支 git checkout new # 创建并跳转到该分支 git checkout new -b # 查看本地全部分支 git branch -v # 查看全部分支 git branch -av # 删除分支 git branch -d new # 强制删除分支 git branch -D new # 查看远程仓库地址 git remote -v
变基
# 变基 git rebase
了解命令
# 查看对象类型,(输入一段标识符,查看他是个什么) git cat-file -t
场景应用
设置远端存储
# 查看远端仓库 git remote -v # 查看远端分支 git branch -r # 设置远端仓库 git remote add origin git@github.com:BingMG/java-program.git # 设置多个远端仓库 git remote add github git@github.com:BingMG/java-program.git # 上传代码到远端分支 git push github # 删除远端仓库 git remote remove github # 设置多个远端仓库且同时上传 git remote set-url --add origin git@github.com:BingMG/java-program.git
Github新建仓库命令
# …or create a new repository on the command line echo "# java-program" >> README.md git init git add README.md git commit -m "first commit" git branch -M main git remote add origin git@github.com:BingMG/java-program.git git push -u origin main # …or push an existing repository from the command line git remote add origin git@github.com:BingMG/java-program.git git branch -M main git push -u origin main
本地与远端分支的联动
# 本地创建分支 git checkout -b new # 远端创建分支并推送 git push origin new # 删除远端分支 git push origin --delete new # 先跳出将要删除的本地分支 git checkout master # 删除本地分支(删除远端分支之前) git branch -d new # 删除本地分支(删除远端分支之后) git branch -D new
变更工作环境
# 保存工作环境 git stash # 保存工作环境,包括git未管控的文件也添加到git管控 git stash -u # 查看隐藏环境中保存的列表 git stash list # 查看隐藏环境中保存的具体信息 git stash show # 恢复隐藏环境 git stash pop
清除本地代码
# 清除暂存区的全部修改 git reset # 清除工作区的全部修改 git checkout . # 清除未被管控的文件,-n为预演模式 git clean -n # 返回到某个节点, 保留修改到工作区。 git reset --soft HASH # 返回到某个节点,不保留修改。 git reset --hard HASH
代码写错了
无脑方案
# 安全操作,反转上上次的提交内容,形成commit,待推送至远端 git revert HEAD^
本地提交还原
# 将需要修改的文件添加到git管控 git add . # 修改本地最近一次提交的提交信息 git commit --amend
远端提交还原
危险操作,适用单人单分支未被主分支合并场景。
# 本地修改完成之后,强制将本地版本库覆盖到远端 git push origin branch -f
将已提交的文件移除git管理
需要先更新 .gitignore
文件,可通过命令行的方式直接更新
# 通过命令直接添加至git忽略文件,注意路径和内容 echo 'add file'>>.gitignore
执行移除操作
git rm -r --cached . git add . git commit -m 'update .gitignore'
根据用户获取输出行数
获取Wisom用户的输出,若需要查找其他人,更换用户名
git log --author="Wisdom" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -
这篇关于Git 使用指南的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-22初创企业的效率秘诀!实用的看板式任务管理工具推荐
- 2024-12-22新能源汽车销售难题如何破?看板工具助力门店管理升级
- 2024-12-218 款现代无代码工具,轻松提升开发者工作效率 ???????
- 2024-12-21从线索跟踪到业绩提升:销售任务管理系统推荐
- 2024-12-21刚刚发布RobinReach:多渠道社交媒体管理工具 ??
- 2024-12-21跨地域协作无压力!推荐几款必备的可视化协同工具
- 2024-12-21初学者指南:轻松掌握文章编辑器
- 2024-12-21Excel数据导出教程:让数据迁移变得简单
- 2024-12-21Excel数据导入入门教程
- 2024-12-215分钟速览:优化项目管理必备的5款高效工具