git日常使用学习记录
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git日常使用学习记录相关的知识,希望对你有一定的参考价值。
Workspace:工作区
Index / Stage:暂存区
Repository:仓库区(或本地仓库)
Remote:远程仓库
添加工作区所有文件到暂存区:
git add -A
查看工作区与暂存区文件的不同
git diff
从暂存区添加文件到本地仓库
git commit -m " 提交信息"
查看暂存区与本地仓库文件不同
git diff --cached
从本地仓库master分支文件推送到远程仓库master 分支
git push -u origin master (第一次推送时使用)
git push origin master
git diff HEAD
打tag 并推送到远程仓库
git tag tagname
git push origin tagname 推送单一个tag
git push origin --tags 推送本地所有tag
删除远程仓库tag
git tag -d tagname
git push origin :refs/tags/tagname
从远程仓库拉取与本地工作区合并
git pull
删除 一些 没有 git add 的 文件(未加入版本控制的文件);
git clean 参数
-n 显示 将要 删除的 文件 和 目录
-f 删除 文件,-df 删除 文件 和 目录
Undo&Revert:撤销与恢复某个Commit
以创建一个新提交的方式撤销某个提交的操作
git revert <commitid-ish>
恢复某个文件到某个Commit时候的状态
git checkout <commitid-ish>
分支操作
获取所有本地与远程的分支
git branch -a
只展示远程分支
git branch -r
根据某个Commit的Hash来查找所有关联分支
git branch -a --contains <commit-ish> | git branch --contains <commit-ish>
删除本地分支
git branch -d <local_branchname>
删除远程分支
git push origin --delete <remote_branchname>
或者
git push origin :<remote_branchname>
移除所有已经合并进入Master的分支
git branch --merged master | grep -v ‘^*‘ | xargs -n 1 git branch -d
移除所有在远端已经被删除的远程分支
git fetch -p
或者
git remote prune origin
Rebase:变基
在Pull时候强制用变基进行操作
git config --global branch.autosetuprebase always
将某个feature分支变基到master,然后合并进master
git checkout feature && git rebase @{-1} && git checkout @{-2} && git merge @{-1}
变基之前自动Stash所有改变
git rebase --autostash
利用变基自动将fixup提交与正常提×××并
git rebase -i --autosquash
利用ReBase将前两个提×××并
git rebase --interactive HEAD~2
Track:文件追踪
展示所有被追踪的文件
git ls-files -t
展示所有未被追踪的分支
git ls-files --others | git ls-files -o
以上是关于git日常使用学习记录的主要内容,如果未能解决你的问题,请参考以下文章