Git命令集-入门
Git操作指南
用户信息
-
git config --global user.name Simon设置自己的用户名
-
git config --global user.email [jinmaup@gmail.com](mailto:jinmaup@gmail.com)设置自己的邮箱
查看配置
git config --list
查看自己 git 的配置信息
设置编辑器
git config --global core.editor vim
当你用 git 编辑文件时,编辑文件的文本编辑器会默认调用 vim
文本着色
git config --global color.ui true
可为大部分 git 的代码布上颜色
基础命令
建立版本库,初始化
-
git init当前路径文件 初始化为 Git 仓库(可以发现 当前路径增加了.git 文件夹)
-
git init 文件夹名新建一个文件夹,并将其初始化为 Git 代码库
文件添加到暂存区
-
git add .把当前目录所有未追踪文件,已修改的文件,添加到暂存区 (不包括被删除的文件)
-
git add 文件(夹)名把特定文件(夹)添加到暂存区
-
git add -A / --all提交所有的文件操作到暂存区
-
git add -u提交已修改的文件,被删除的文件(不包括新文件)
-
git add -p交互式的缓存提交,会提供多个选项来自定义提交内容、方式
文件添加到本地仓库
-
git commit -m "commit message”把暂存区的所有文件添加到本地仓库,-m”提交信息” (越详细越好)
-
git commit 文件(夹)名 -m”commit message”把特定文件(夹)添加到本地仓库,-m”提交信息” (越详细越好)
-
git commit --am”commit message”针对已经被追踪的文件,可以直接添加到本地仓库,不用先 add 在 commit.
-
git commit --amend -m”commit message”利用本次 commit 重写上一次 commit
-
git commit --amend –no-edit利用本次 commit 重写上一次 commit 不会重写上次 commit 的提交信息
获取仓库状态
git status
可以立即获取本地仓库状态 以及 git 的步骤提示,建议多使用此命令
版本回退
-
git reset --hard HEAD将工作区,暂存区,本地仓库恢复到上一个版本(–hard)
-
git reset -soft HEAD^^^将本地仓库恢复到上三个版本,不会修改暂存区,工作区(–soft)
-
git reset -mixd HEAD~5将暂存区,本地仓库恢复到上五个版本,不会修改工作区(–mixd,默认)
-
git reset -hard commitID将工作区,暂存区,本地仓库恢复到上指定版本 其中 commitID 就是每一次 commit 的版本号,可以使用 git reflog 获取
撤销暂存
-
git reset HEAD file.txt撤销 file.txt 的 add 操作,使其变成不跟踪状态
-
git reset HEAD^ file.txt将上一次提交版本的 file.txt 重新置入缓存区
撤销工作区
-
git checkout -- file.txt(只针对未追踪文件)用历史中的 file.txt 替换现有工作区的 file.txt 如果文件增加到暂存区后 又进行了修改,那么执行命令后 将回到暂存区文件状态
-
git checkout HEAD -- file.txt用最后一次提交版本中的 file.txt 替换现有工作区的 file.txt
-
git checkout commitID -- file.txt用特定版本的 file.txt 替换现有工作区的 file.txt
撤销提交
git revert commitID
撤销指定版本的 commit,并将此操作生成一个全新的 commit 并提交
文件操作
增
-
touchtouch 文件名 : 新建文件
-
mkdirmkdir 文件夹名: 新建文件夹
-
vimvim 文件名 : 新建文件,并用 vim 模式打开该文件进行编写
-
git initgit init 文件夹名:新建一个文件夹,并将其初始化为 Git 代码库
-
printfprintf ‘content’ > 文件名 :新建一个文件,并把 content 注入其内容
-
echoecho ‘content’ > 文件名 :新建一个文件,并把 content 注入其内容
删
-
rmrm 文件名 : 删除文件
-
cleangit clean -f 文件名 :删除未跟踪文件
改
-
vimvim 文件名 : 打开文件,并用 vim 模式进行修改
-
mvmv 选定文件名 新的文件名:把选定文件名 修改为 新的文件名
-
printfprintf ‘content’ > 文件名 : 将 content 替换 文件原有内容
-
echoecho ‘content’ > 文件名 : 将 content 替换 文件原有内容
查
-
pwd得到当前路径
-
cdcd 路径 :进到某一文件路径 cd .. : 回退文件路径 cd : 回到默认的路径
-
catcat 文件名:查看该文件的内容
-
ls查看该目录下的文件列表(不包括隐藏文件)
-
ls -a查看该目录下的文件列表(包括隐藏文件)
-
showgit show: :展示任意分支某一文件的内容
分支操作
查看分支
-
git branch列出本地分支
-
git branch -r列出远端分支
-
git branch -a列出所有分支
-
git branch -v查看各个分支最后一个提交对象的信息
-
git branch –merge查看已经合并到当前分支的分支
-
git branch –no-merge查看为合并到当前分支的分支
-
git remote show origin可以查看 remote 地址,远程分支
新建分支
-
git branch name新建一个名为 name 的分支
-
git checkout -b name新建一个名为 name 的分支,并自动切换为该分支
-
git branch [branch] [commit]新建一个分支,指向指定 commit
-
git branch –track [branch] [remote-branch]新建一个分支,与指定的远程分支建立追踪关系
删除分支
-
git branch -d name删除一个名为 name 的分支
-
git branch -D name强制删除一个名为 name 的分支
-
git push :删除远程分支
-
git push origin –delete删除远程分支
切换分支
-
git checkout name切换一个名为 name 的分支
-
git checkout -切换上一个分支
重命名分支
-
git branch -m name将当前所在分支命名为 name
代码冲突合并

当代码在分支与分支之间产生了冲突之时
VsCode提供了四种解决方案
Accept Current Change选项
保留了等号上方的代码
Accept Incoming Change选项
保留了等号下方的代码
Accept Both Change选项
两段冲突代码都保存
Compare Change选项
两个代码在原文中进行比较
当遇到了绑定错库时,想要重新绑定,需要先清除当前的绑定的库
//清除ssh和http
git remote remove origin
//或者
git remote rm origin
//绑定自己的地址 ssh或者http
git remote add origin git@gitee.com:laoevil/laoevils.git
标签
新建标签
-
git tag [tag]新建一个 tag 在当前 commit
-
git tag [tag] [commit]新建一个 tag 在指定 commit
-
git tag v0.9 commitID对某次提交新建标签
查看标签
-
git tag列出所有 tag
删除标签
-
git tag -d [tag]删除本地 tag
-
git push origin :refs/tags/可以删除一个远程标签
推送标签
-
git push origin –tags一次性推送全部尚未推送到远程的本地标签
-
git push origin可以推送一个本地标签
远程仓库
-
git remote显示所关联的远程仓库
-
git remote -v显示更详细信息
-
git remote add origin git@server-name:path/repo-name.git关联一个远程库
-
git remote rm name删除一个远程库
-
git remote rename将远程连接从 重命名为
远程仓库
合并
-
git rebase master将 master 分之上超前的提交,变基到当前分支
-
git rebase –interactive交互模式,修改 commit
-
git rebase –continue处理完冲突继续合并
-
git rebase –skip跳过合并
-
git rebase –abort取消合并
查看汇总
查看信息
-
git whatchanged –since=’2 weeks ago’查看两个星期内的改动
-
git log –follow [file]显示某个文件的版本历史
-
git log –author=”John”它会显示所有作者叫 John 的提交
-
get log –after=”yesterday”查看昨天的历史信息
-
git log -3展示最近 3 次历史信息
-
git log –graph可以看到分支合并图
修改历史
git rebase -i commitID
将 pick 替换成 r , 然后回车,vi 退出可以使用 :x 修改 git 的历史记录的提交信息
查看文件
-
git diff HEAD – readme.txt可以查看工作区和版本库里面最新版本的区别
-
git diff –staged显示暂存区(已经 add)的文件和版本库文件的比较
-
git ls-files查看在暂存区的文件
删除暂存
-
git rm --cached 文件名把文件从暂缓区 返回至 工作区
git编辑代码
vim 文件名.文件后缀
按键盘上的 i 进入insert 编辑模式
按 ESC 键 退出 insert 编辑模式
按yy复制光标所在行
按p粘贴复制行
编辑好后按ESC
然后输入 :wq 回车保存退出
ll
查看当前文件夹下的文件
cat 当前目录下的文件名.文件后缀
查看选中文件内容
tail -n 1 当前目录下的文件名.文件后缀
查看选中文件内容末尾第一行的文件内容
其他
忽略文件
echo node_modules/ >> .gitignore
添加忽略文件
打包
-
git archive master –format=zip –output=master.zip将 Master 分支打包
-
git bundle create将历史记录包括分支内容打包到一个文件中
-
git clone repo.bundle -b从某个 Bundle 中导入
工作区
-
git stash将工作区现场(已跟踪文件)储藏起来
-
git stash list查看保存的工作现场
-
git stash apply恢复工作现场
-
git stash drop删除 stash 内容
-
git stash pop恢复的同时直接删除 stash 内容
-
git stash apply stash@{0}恢复指定的工作现场
查找内容
-
git grep “Hello”从当前目录的所有文件中查找文本内容
-
git grep “Hello” v2.5在某一版本中搜索文本
帮助
git help -a

浙公网安备 33010602011771号