赞
踩
init
# 当前所在目录为仓库
git init
# 当前目录下新建 repo 的仓库
git init repo
clone
git clone <仓库地址>
status
git status
# 简略信息:s 是 short
git status -s
HEAD
最新:HEAD
上个:HEAD^, HEAD~
# 也可以加上数字,表示 HEAD 之前的第 i 个
HEAD~i
add
# 添加指定
git add <file>
# 全部文件
git add .
# 也可以使用通配符
git add *.py
rm
git rm --cached <file>
# 删除文件(工作区+暂存区)
git rm <file>
commit
git commit -m "提交信息“
git commit -am "提交信息"
git commit -a -m "提交信息"
log
# 完整 log
git log
# 简洁 log
git log --oneline
reset
# mixed 模式(默认模式,只删除暂存区的,保留工作区)
git reset <版本号>
git reset --mixed HEAD^
# soft 模式(相当于撤销commit操作,保留工作区的+保留暂存区
git reset --soft <版本号>
# hard 模式(工作区和暂存区的都不保留)
git reset --hard <版本号>
reflog
# 查询操作历史
git reflog
# 返回就用回退版本
diff
# 查看工作区、暂存区之间的差异
git diff
# 查看工作区和本地仓库之间的差异
git diff HEAD
# 查看暂存区和本地仓库之间的差异
git diff --cached
# 查看不同版本之间的差异
git diff <提交id1> <提交id2>
git diff <提交id1> HEAD
git diff <提交id1> <提交id2> <file> # 仅查看某个文件差异
# 查看不同分支之间的差异
git diff <分支名> <分支名>
.gitignore
.gitignore 里面添加上要忽略的文件/夹 <file> <dir>/ # 文件 "#" 开头是注释 Blob 模式匹配 "*" 匹配多个字符 "?" 匹配单个字符 "[]" 匹配列表中的但个字符([abc]表示匹配 a 或者 b 或者 c "[0-9]\[a-z]" 表示连续的 “**” 匹配任意中间目录 例子: # 忽略所有的 .log 文件 *.log # 但跟踪所有的 show.log文件(即便是前面忽略了) !show.log # 只忽略当前目录下 TODO(不忽略 subdir/TODO) /TODO # 忽略任何目录下名为 build 的文件夹 build/ # 忽略 doc/所有txt (不忽略doc/sub/*.txt) doc/*.txt # 忽略 doc/ 目录及其所有子目录下的 .pdf doc/**/*.pdf
创建一个新的仓库( 然后可以直接git clone)
下面是本地已经有个本地仓库了,要关联远程仓库的
12. 添加远程仓库remote add
git remote add <shortname> <url> # shortname 远程仓库别名,一般取 origin
git remote add origin git@github.com:name/repo
pull
到本地git pull origin main
# 如果有冲突的话要给出策略
git pull origin main --rebase # rebase
git pull origin main --no-rebase # merge
# 手动解决完
git rebase --continue
git merge --continue
或者使用fetch
拉取,然后进行合并
16. 推送本地分支到远程分支
git push -u origin main:main
# 查看分支
git branch # 有 * 的是当前分支
# 新建分支
git branch <分支名>
# 切换分支
git switch <分支名>
#
git merge <被合并分支名> # 合并到当前分支, 保留提交记录
git rebase <目标分支名> # 当前的分支分叉开始地方会被剪过去,线性提交历史、改变提交历史
# 删除已被完成合并的分支
git branch -d <分支名>
# 强制删除分支
git branch -D <分支名>
git clone <自己的代码地址>
这个时候本地克隆的仓库和自己的远程仓库是关联了的
git remote add <shortname> <url> # shortname 远程仓库别名,这里一般取 upstream
git remote add upstream https://github.com/name/repo.git
已经把本地仓库和远程仓库、官方仓库关联起来了
git fetch upstream
git merge upstream/main
或者
git pull upstream
然后同步到origin
git push -u origin main
至此三库都一样了
git branch <开发分支名>
# 切换到开发分支
git checkout <开发分支名>
git switch <开发分支名> # (Git 2.23+)
或者
# 切换到开发分支名,不存在的话新建
git checkout -b <开发分支名>
git push -u origin <开发分支名>
# 查看状态
git status
# 查看修改内容
git diff
# 跟踪
git add .
# commit 提交本地
git commit -m "提交信息"
# push到远程仓
git push origin
向官方仓库提交pr
打开GitHub,就会出现可以合并到分支提示
各家的PR说明格式要求不同,可以前往官方仓查看他的贡献指南,一般会给出示例模板。
提交PR之后,可以前去官方仓查看审查情况
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。