常用GIT命令整理 - WIP

简介

本文主要罗列一些工作中常用的git命令,以备个人不时之需。
所有命令引导都可以使用-h作为后缀来查看该命令后面可以跟随的参数。
例如:git status -h 会罗列出所有以status为引导的参数。如下图所示:

从效率上来说,git gui配合命令行才能效率最大化,当工程体量达到了一定的规模,使用GUI操作的效率会逐渐下降(卡)。此时,使用命令行可以很大程度上提高批量操作的速度。而当有对比相关的需求时,又可以使用GUI进行较为直观的对比。

GIT设置系列命令

作用 命令行
清屏 reset
查看帮助 git help
查看config系列命令的帮助 git config -h
查看全局设置(global config) git config -list --global
查看全局用户名(global config) git config user.name
查看全局用户邮箱 git config user.email
设置全局用户名 git config --global user.name yourname
设置全局用户邮箱 git config --global user.email youremail
设置统一换行符为[lf/crlf] git config --global core.eol [lf/crlf]
[打开/关闭]换行符自动转换 git config --global core.autocrlf [true/false]

GIT路径系列命令

这里的命令其实比较通用,并非是git专用,但还是罗列一下

作用 命令行
切换路径 cd
回退一级路径 cd..
输出当前所在路径 pwd
列出当前路径下的所有文件 ls
创建新文件 Touch
移除文件 rm/rm -r
创建目录 mkdir
移动文件 mv

GIT仓库系列命令

作用 命令行
查看当前版本状态 git status
克隆URL上的仓库到本地指定的路径,并递归拉取子模块 git clone gitURL path --recursive-submodule
拉取最新[分支名并合并到当前分支] git pull [branchname]
获取所有远程分支[清除服务器上已经删除的分支] git fetch [--prune]
罗列分支 git checkout
切换分支 git checkout branchname
合并分支 git merge branchname
还原修改的文件 git checkout -- *
指定还原某个文件 git checkout -- *
回退到当前版本[强制] git reset [--hard] HEAD
回退到上N个版本,多少个^代表多少个版本 git reset HEAD^^^
跟踪某个新文件 git add filename
提交 git commit -m
推送[分支名] git push [branchname]
暂存修改 git stash
应用第[N]次暂存 git stash apply status[N]
变基 git rebase

这里并未罗列对比相关的命令,个人认为使用gui进行对比会更加直观一些。

子模块 (Submodule)

作用 命令行
初始化子模块 git submodule init
添加子模块 git submodule add <submodule_url>
根据远端最新更新子模块 git submodule update --remote

GIT Attributes

作用 命令行
配置[文件类型]换行符[lf/crlf] *.[html/css/js...] text eof=[lf/crlf]

GIT常见故障排除

Errno 10054

使用git获取github上代码时报错:OpenSSL SSL_read: Connection was reset, errno 10054
(此时又必须开着vpn才能访问到github)
参考网上的回答,成功解决问题:
修改设置,解除ssl验证git config --global http.sslVerify “false” 此时,再执行git操作即可。

Permission denied

一般为没有权限或密钥问题

参考

Git常用命令大全
Git bash常用命令集合

猜你喜欢

转载自blog.csdn.net/jianfei_zhou/article/details/128815457
今日推荐