初始化
下载:https://git-scm.com/downloads(Git官网)
设置用户名:git config --global user.name "your name"
设置邮箱:git config --global user.email "your e-mail"
切换至目录
将目录初始化:git init
常用命令
状态查看:
- 查看状态:git status
- 查看文件未提交修改:git diff(git diff HEAD -- readme.txt 查看工作区和版本库里面最新版本的区别);
- 查看提交记录:git log(git log --pretty=oneline --abbrev-commit 常用)(git log --graph常用)
放至缓存区-提交:
- 放至缓存区:git add readme.txt
- 提交:git commit -m "wrote a readme file"
分支操作:
- 查看分支:git branch
- 创建分支:git branch dev
- 切换分支:git switch dev , git checkout dev
- 创建+切换分支:git switch -c dev 或 git checkout -b dev
- 合并某分支到当前分支:git merge --no-ff -m "describe" dev(合并时生成记录), git merge dev
- 删除分支:git branch -d dev
暂存工作区:
- 暂存工作区:git stash
- 查看现在暂存的工作区:git stash list
- 恢复工作区,pop会顺便删除:git stash apply stash@{0};git stash pop
- 删除暂存工作区:git stash drop
在当前分支重复操作:
- git cherry-pick -m 1 87df935730ef(当commit为merge操作时,需要加<-m 数字>参数表示以合并的第两个文档中的哪个为基准)
时间操作:
- 回退一次提交:git reset --hard HEAD^
- 回退100次提交:git reset --hard HEAD~100
- 查看历史确定commit编号:git reflog
放弃修改(看提示就行)
- 放弃未放入缓存区(未add)的修改:git restore <file>.
- 放弃放入缓存区的修改:git restore --staged <file>.
远程仓库操作:
- 创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:$ ssh-keygen -t rsa -C "youremail@example.com"
- 添加远程库:git remote add origin git@github.com:michaelliao/learngit.git
- 第一次push文件:git push -u origin master
- 后续push文件:git push origin master
- 查看远程库:git remote -v
- 删除远程库连接:git remote rm origin
- 克隆远程库至本地:git clone git@github.com:michaelliao/gitskills.git
TAG操作:
- 打标签:git tag v0.9 默认以当前commit进行tag,git tag v0.9 f52c633,git tag -a v0.1 -m "version 0.1 released" 1094adb
- 查看标签列表:git tag 按字母排序列出标签
- 查看标签详细信息:git show v0.9 查看详细信息,git show <tagname>查看标签描述
- 删除标签:git tag -d v0.1
- 标签推至远程库:git push origin v1.0
- 标签从远程删除:git push origin :refs/tags/v0.9
原理
- 标签总是和某个commit挂钩。如果这个commit既出现在master分支,又出现在dev分支,那么在这两个分支上都可以看到这个标签。
- 每次修改,如果不用git add到暂存区,那就不会加入到commit中。
- 分支管理原理:https://www.liaoxuefeng.com/wiki/896043488029600/900003767775424
- 分支策略:https://www.liaoxuefeng.com/wiki/896043488029600/900005860592480
未了解:
- 多人协作的工作模式:https://www.liaoxuefeng.com/wiki/896043488029600/900375748016320
- rebase
搬运自
廖雪峰的官方网站:https://www.liaoxuefeng.com/
网友评论