- 创建:mkdir learngit
- 转到:cd learngit
- 显示当前目录:pwd
- 生成仓库:git init
- 提交文件到仓库:1.git add name.txt 2.git commit -m ""
- 查看结果:git status
- 查看修改:git diff name.txt
- 历史记录:git log
- 查看文件内容:cat name.txt
版本回退
- 指针:HEAD 当前版本 HEAD^上一个版本 HEAD~100
- 回退到上一版本:git reset --hard HEAD^
- 返回最新版本:git reset --hard <commit id>
- 查看每一次命令:git reflog
- 查看工作区和版本库的不同:git diff HEAD -- name.txt
- 第一次修改》git add 》第二次修改》git add >git commit
- 丢弃工作区的修改:git checkout -- name.txt
- 丢弃暂存区的修改:git reset HEAD name.txt
- 从版本库中删除:git rm name.txt git commit -m " "
- 从文件管理器中删除:rm name.txt
- 误删从版本库还原:git checkout -- name.txt
- 创建SSH key:ssh-keygen -t rsa -C "email" 比http协议更快
- 粘贴id_rsa.pub内容
- 修改推送到GitHub:git push origin master
- 第一次推送分支所有内容:git push -u origin master
- 从远程库克隆一个本地库:git clone .....
- 查看当前分支:git branch
- 把dev分支合并到master:git merge dev (fast-forward模式 会丢掉分支信息)
- 删除分支:git branch -d dev
- 当无法自动合并分支时,先解决冲突再提交。
- 分支合并图:git log --graph
- 强制禁用ff模式:git merge --no-ff -m " " dev
- bug分支:隐藏工作现场 git stash 再切换到另一个分支上去修复
- 恢复被隐藏的工作区:git stash pop
- 丢弃一个没有被合并的分支:git branch -D <name>
- 查看远程库信息:git remote / git remote -v
- 推送分支:git push origin master
- 抓取分支:创建远程origin的dev分支到本地 git checkout -b dev origin/dev
- 再推送修改:git push origin dev
- 如果提交有冲突:设置dev与origin/dev的连接:git branch --set-upstream-to=origin/dev dev 再把最新的提交从origin/dev中抓取下来:git pull 最后手动解决冲突 ,pull
- 给分支打标签:git tag v...<commit id>
- 查看标签:git tag
- 查看标签信息:git show <tagname>
- 删除标签:git tag -d <tagname>
- 推送标签到远程:git push origin <tagname>
- 删除远程标签:先从本地删除git tag -d <tagname>再远程删除:git push origin :refs/tags/<tagname>
git config --global alias.co checkoutgit config --global alias.co checkout