扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
git 已经成为日常开发流不可或缺的一部分,甚至说是核心部分,但有些不常用指令时常会忘记,再次做下备忘,省的用到的时候再去找了。用到的时候才会记录,指令是不断增加的,请不要见怪 ~>~
创新互联公司是专业的林口网站建设公司,林口接单;提供网站制作、做网站,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行林口网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
git 常用指令总结
官方文档:https://git-scm.com/book/zh/v2
command | 说明 | 备注 | |
---|---|---|---|
git add . | 提交修改到暂存区 | 修改文件和新增文件,不包括删除的文件 | |
git add -u | 提交到暂存区 | 删除文件和修改文件,不包括新增文件 | |
git add -A | --all | 提交到暂存区 | 包括修改文件、新增文件和删除文件 |
git commit -m '注释' | 提交到本地版本库 中 | ||
git commit -am '注释' | 直接提交到本地版本库 | 不用再 git add 了 | |
git checkout -- 文件名 | 检出暂存区的更新 | 变成未git add 之前的状态 | |
git pull | 从远程拉去代码到本地,并自动合并 merge | ||
git push | |||
git rm --cached file_path | 删除暂存区或分支上的文件, 但本地又需要使用, 只是不希望这个文件被版本控制 | ||
git rm file_path | 删除暂存区或分支上的文件, 同时工作区也不需要这个文件了 | ||
git fetch | 从远程拉取代码到本地,不自动合并 | 可能会有缓存问题 | |
git fetch -p | 从远程拉取代码到本地,不自动合并 | 可以解决缓存问题 | |
git branch -a | 查看远程分支和本地所有分支 | ||
git branch -r | 查看远程分支 | ||
git branch -D 分支名 | 删除本地分支 | ||
git branch -m old_name new_name | 重命名分支名称 | 新分支推送到远程后,旧分支还存在,可以手动删除远程分支 | |
git push origin :分支名 | 删除远程指定分支 [origin 后面有空格] | ||
git push origin --delete 分支名 | 删除远程分支 [同上] | ||
git remote add 仓库名 git地址 | 添加仓库 | 可以添加多个仓库,仓库名不重复即可 | |
git fetch 仓库名 | 从指定仓库获取远程所有更新 | ||
git pull 仓库名 | 从指定仓库获取远程所有更新 | 自动合并 | |
git remote rm 仓库名 | 移除指定远程仓库 | ||
git remote show origin | 查看本地分支和追踪情况 | ||
git remote prune origin | 本地同步删除已删除的远程分支 | ||
git cherry-pick commitid | 复制commit 到当前分支 | ||
git cherry-pick commitid1..commitid2 | 检出 commitid1 到 commitid2 之间的提交到当前分支 | 左开右闭 区间 | |
回滚 | |||
git reset --hard HEAD^ | 本地提交回滚1次 | ||
git reset --hard HEAD~3 | 最近3次提交回滚 | ||
git remote -v | 查看远程仓库地址 | ||
git reset --hard origin/master | 强制与版本库一致 | ||
git tag | 查看本地所有 tag | git tag -l 'v1.4.2.*' 查看匹配 tag | |
git tag -d tag_name | 删除本地 tag | ||
git tag [name] | 创建一个新的tag | ||
git tag -a v0.9 9ff91da | 为已经提交的代码 打 tag | 默认为最新代码 tag | |
git push origin :tag | 删除远端 tag | ||
git tag -a v1.4 -m 'my version 1.4' | 创建一个含附注类型的标签 | -m 选项则指定了对应的标签说明 | |
git check tag | 切换 tag | ||
git show v1.4 | 查看相应标签的版本信息,并连同显示打标签时的提交对象 | ||
git tag -s v1.5 -m 'my signed 1.5 tag' | 用 GPG 来签署标签 | ||
git push origin [tagname] | 推送标签至远程仓库 | git push 默认不推送 | |
git push origin --tags | 推送所有标签至远端仓库 | ||
git log --oneline --decorate --graph | 以图像形式查看 commits | 其实git log --oneline 就很清晰 | |
git update | git 2.17.1 之前版本, git 自升级 | ||
git update-git-for-windows | git 2.17.1 之后的版本, git 自升级 |
批量操作
grep 是对 git branch 的输出结果进行匹配
xargs 的作用是将参数列表转换成小块分段传递给其他命令
本地删除:git branch | grep '正则' |xargs git branch -D
从分支列表中匹配到指定分支,然后一个一个(分成小块)传递给删除分支的命令,最后进行删除。
远程删除:git branch -r | grep '正则' |xargs git push origin --delete
多仓库管理
添加第一个仓库
git remote add origin git-url
添加第二个仓库
git remote set-url --add origin git-url2
推送到两个仓库
git push --all
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流