# Git
主要用来记录 Git 相关命令,忘记了可以过来找下对应的
# 常用命令
命令说明 | 命令 |
---|---|
初始化仓库 | git init |
添加文件到本地仓库 | git add .(文件 name) |
添加文件描述信息 | git commit -m “first commit” |
添加远程仓库 | git remote add origin + 远程仓库地址 |
同步远程分支 | git pull origin master |
线性合并远程仓库 | git pull --rebase origin master (无需 commit) |
推送到远程分支 | git push origin master <远程主机名> < 本地分支名 >:< 远程分支名 > |
强制推送 | git push --force origin master |
查看本地分支 | git branch -v <-a 查看所有分支> |
查看远程分支 | git branch -r |
删除本地分支 | git branch -d branName |
删除远程分支 | git push origin --delete master |
删除远程仓库文件 | git rm -r --cached [filenam] |
切换分支 | git checkout main |
创建本地分支 | git branch [name] |
拉取远程分支代码 | git fetch |
合并分支 | git merge [name] |
创建并切换分支 | git checkout -b main |
设置默认提交分支 | git push -u origin master <执行后下次推送可直接 git push> |
同步远程删除的分支 | git remote prune origin |
更新远程分支信息 | git remote update origin --prune |
查看提交记录 | git log |
清除 Git 缓存密码 | git credential-manager uninstall |
分支重命名 | git branch -m master main |
重新验证账户密码 | git config --global credential.helper store |
查看 git 配置信息 | git cofig --list 简写 git config -l |
设置全局账户 / 邮箱 | git config --global (user.name "" ) |
设置当前仓库账户 / 邮箱 | git confit --local (user.name "" ) |
覆盖之前的提交信息 | git commit --amend -m"说明信息" |
回退版本,只回退 commit 信息 | git reset --soft |
彻底回退,源码和 commit 均回退 | git reset --hard |
远程仓库命令
- 查看远程仓库:git remote -v
- 添加远程仓库:git remote add [name] [url]
- 删除远程仓库:git remote rm [name]
- 修改远程仓库:git remote set-url --push [name] [newUrl]
- 拉取远程仓库:git pull [remoteName] [localBranchName]
- 推送远程仓库:git push [remoteName] [localBranchName]
- 提交暂存区到仓库: git commit -m [message]
- 自动将修改文件添加到索引中;并显示提交信息: git commit -a
- 追加提交,覆盖上次的提交信息: git commit --amend
分支 branch 命令
- 查看本地分支:git branch
- 查看远程分支:git branch -r
- 创建本地分支:git branch [name] ---- 注意新分支创建后不会自动切换为当前分支
- 切换分支:git checkout [name]
- 创建新分支并立即切换到新分支:$ git checkout -b [name]
- 删除分支:git branch -d [name] ---- -d
选项只能删除已经参与了合并的分支,对于未有合并的分支是无法删除的。如果想强制删除一个分支,可以使用 - D 选项 - 合并分支:git merge [name] ---- 将名称为 [name] 的分支与当前分支合并
- 创建远程分支 (本地分支 push 到远程):$ git push origin [name]
- 删除远程分支:git push origin --delete [branch_name]
- 创建空的分支:(执行命令之前记得先提交你当前分支的修改,否则没有提交的内容会被强制删掉)
版本 tag 相关命令
- 查看版本:git tag
- 创建版本:git tag [name]
- 删除版本:git tag -d [name]
- 查看远程版本:git tag -r
- 创建远程版本 (本地版本 push 到远程):git push origin [name]
- 删除远程版本:git push origin :refs/tags/[name]
- 合并远程仓库的 tag 到本地:git pull origin --tags
- 上传本地 tag 到远程仓库:git push origin --tags
- 创建带注释的 tag:git tag -a [name] -m 'yourMessage'
子模块 (submodule) 相关操作命令
- 添加子模块:git submodule add [url] [path]
- 初始化子模块:git submodule init ---- 只在首次检出仓库时运行一次就行
- 更新子模块:git submodule update ---- 每次更新或切换分支后都需要运行一下
- 删除子模块:(分 4 步走哦)
.gitignore 的文件规则
在仓库根目录下创建名称为 “.gitignore” 的文件,写入不需要的文件夹名或文件,每个元素占一行
target #忽略 dbg 文件和 dbg 目录 | |
target/ #只忽略 target 文件,不忽略 dbg 目录 | |
target | |
!target/ #只忽略 dbg 文件不忽略 dgb 目录 | |
/target #只忽略当前目录下的 target 文件和目录,子目录的 target 不在忽略范围内 | |
bin | |
*.db | |
#忽略规则 | |
# 以 '#' 开始的行,被视为注释. | |
* ?:代表任意的一个字符 | |
* *:代表任意数目的字符 | |
* {!ab}:必须不是此类型 | |
* {ab,bb,cx}:代表ab,bb,cx中任一类型即可 | |
* [abc]:代表a,b,c中任一字符即可 | |
* [ ^abc]:代表必须不是a,b,c中任一字符 |
转载声明
本文部分命令转载自:https://blog.mubai.link/2022/06/29/Git/Git