本文主要是介绍Git笔记(附上史上最浅显易懂的Git教程),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
史上最浅显易懂的Git教程
廖雪峰的Git教程
Git教程 - 廖雪峰的官方网站 (liaoxuefeng.com)
Git命令
功能 | 命令 |
查看Git版本 | git --version |
更新Git | git update-git-for-windows |
配置姓名和邮箱 | git config --global user.name "huang_jianhua" git config --global user.email "huang_jianhua0101@outlook.com" |
新建目录 | mkdir learngit |
进入目录 | cd learngit |
查看文件路径 | pwd |
创建Git仓库 | git init |
查看所有文件 | ls -ah |
添加到暂存区 | git add readme.txt git add . |
提交到仓库 | git commit -m "wrote a readme file" |
查看差异 | git diff git diff HEAD -- readme.txt |
查看提交日志 | git log git log --pretty=oneline git reflog |
回退到上一个版本 | git reset --hard HEAD^ |
工作区退回一步 | git checkout -- readme.txt git restore readme.txt |
把暂存区的修改撤销掉 | git reset HEAD readme.txt |
删除文件 | rm test.txt |
从版本库中删除文件 | git rm test.txt |
创建SSH Key | ssh-keygen -t rsa -C "huang_jianhua0101@outlook.com" |
添加远程仓库 | git remote add origin git@github.com:michaelliao/learngit.git |
本地仓库推送到远程仓库 | git push -u origin master |
推送到远程库 | git push origin master |
强制推送到远程库 | git push -f |
查看远程库 | git remote git remote -v |
删除远程库 | git remote rm origin |
克隆远程仓库 | git clone git@gitee.com:huang_jianhua0101/gitskills.git |
创建分支 | git branch dev |
切换分支 | git checkout dev git switch master |
创建并切换分支 | git checkout -b dev git switch -c dev |
查看当前分支 | git branch |
查看远程分支 | git branch -r |
合并指定分支到当前分支 | git merge dev |
合并分支并留下分支信息 | git merge --no-ff -m "merge with no-ff" dev |
删除分支 | git branch -d dev |
删除远程分支 | git branch -dr dev |
强行删除未合并过的分支 | git branch -D feature-vulcan |
查看分支合并情况 | git log --graph --pretty=oneline --abbrev-commit |
隐藏工作现场 | git stash |
查看工作现场 | git stash list |
恢复并删除stash内容 | git stash pop |
复制一个特定的提交到当前分支 | git cherry-pick 4c805e2 |
从远程origin的dev分支创建分支到本地 | git checkout -b dev origin/dev |
把本地未push的分叉提交历史整理成直线 | git rebase |
打标签到最新提交 | git tag v1.0 |
打标签到指定提交 | git tag v0.9 f52c633 |
查看所有标签 | git tag |
查看指定标签详情 | git show v0.9 |
创建带有说明的标签 | git tag -a v0.1 -m "version 0.1 released" 1094adb |
删除标签 | git tag -d v0.1 |
推送某个标签到远程 | git push origin v1.0 |
推送全部尚未推送到远程的本地标签 | git push origin --tags |
删除已经推送到远程的标签 | git tag -d v0.9 git push origin :refs/tags/v0.9 |
让Git显示颜色 | git config --global color.ui true |
.gitignore模板 | github/gitignore: A collection of useful .gitignore templates |
在线生成.gitignore文件 | Gitignore Online Generator |
配置别名 | git config --global alias.st status |
git lg | git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit" |
查看配置文件 | cat .git/config |
配置清单 | git config -l |
系统配置 | git config --system --list |
全局配置 | git config --global --list |
工作区暂存区
分支策略(实际开发中的分支管理)
在实际开发中,我们应该按照几个基本原则进行分支管理:
首先,master
分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;
那在哪干活呢?干活都在dev
分支上,也就是说,dev
分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev
分支合并到master
上,在master
分支发布1.0版本;
你和你的小伙伴们每个人都在dev
分支上干活,每个人都有自己的分支,时不时地往dev
分支上合并就可以了。
所以,团队合作的分支看起来就像这样:
并不是一定要把本地分支往远程推送,那么,哪些分支需要推送,哪些不需要呢?
master
分支是主分支,因此要时刻与远程同步;dev
分支是开发分支,团队所有成员都需要在上面工作,所以也需要与远程同步;- bug分支只用于在本地修复bug,就没必要推到远程了,除非老板要看看你每周到底修复了几个bug;
- feature分支是否推到远程,取决于你是否和你的小伙伴合作在上面开发。
图形界面Git工具
Sourcetree | Free Git GUI for Mac and Windows (sourcetreeapp.com)
这篇关于Git笔记(附上史上最浅显易懂的Git教程)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!