Git 简单查询

初始化

下载: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 .
  • 放弃放入缓存区的修改:git restore --staged .

远程仓库操作

  • 创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:$ ssh-keygen -t rsa -C "[email protected]"
  • 添加远程库:git remote add origin [email protected]:michaelliao/learngit.git
  • 第一次push文件:git push -u origin master
  • 后续push文件:git push origin master
  • 查看远程库:git remote -v
  • 删除远程库连接:git remote rm origin
  • 克隆远程库至本地:git clone [email protected]: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 查看标签描述
  • 删除标签: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/

你可能感兴趣的:(Git 简单查询)