Git配置
git config --list 可以查看配置
git config -l
git config --global user.name "用户名" //设置全局用户名
git config --global user.email "邮箱" // 设置邮箱
基础操作
本地创建git版本库
创建git版本库,生成.git 文件夹
git init
添加文件进入暂存区
git add Readme.md //添加单个文件到暂存区
git add . // 将当前目录下所有修改添加到暂存区,除按照规则忽略的之外
已经加入暂存区的文件如何回退
git reset <file> //撤销单个文件
git reset //撤销所有文件
查看暂存区的文件
git status --short
//修改过且已经添加到暂存区的文件会显示为 M,新添加的文件会显示为 A,删除的文件会显示为 D
提交文件到仓库
git commit -m "评论" //提交暂存区的文件 附加评论
已经commit的文件如何回退
1、git reset HEAD~
// 将HEAD指向上一个commit 但本地文件修改还在
2、git reset --hard HEAD~
//完全撤销上一次commit并清除本地修改,将HEAD指向上一个commit,并且删除本地修改
3、git reset --hard 'commit_id'
// 回退到 commit_id 指定的提交版本
查看仓库状态
git status
查看仓库中的具体修改
需要查看具体修改的文件,必须是已经在仓库中提交过的文件
git diff Readme.md //查看具体文件的修改
git diff // 查看版本库中所有文件的修改
查看提交记录
git log
git reflog // 可以查看已经reset的提交记录
git reset --hard 'commit id' //回退到历史操作的commit上,本地文件都回退修改
撤销工作区的修改
git checkout -- Readme.md //撤销单个文件的修改
git checkout -- . //撤销整个工作区的修改
删除文件
如果文件已经被提交
git rm Readme.md //删除已经被提交过的文件
git commit -m 'delete' //提交删除
git push origin main //合并删除 ,达到远程删除文件
分支管理
分支查看
git branch // 查看本地分支信息
git branch -v // 查看相对详细的本地分支信息
git branch -av // 查看包括远程仓库在内的分支信息
创建分支
git branch dev
切换分支
git checkout dev
创建并切换分支
git checkout -b dev
合并分支
git checkout master // 切换回 master 分支
git merge dev // 将 dev 分钟中的修改合并回 master 分支
删除分支
git branch -d my_branch 删除一个未合并的修改
git bracnh -D my_branch 强制删除一个分支
远程仓库
新建远程仓库
1、在远程新建仓库
2、拉取仓库在本地
然后执行如下操作:
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin git@github.com:ouyangzhi/gitcommand.git
git push -u origin main
从远程仓库克隆
git clone https://github.com/git/git.git // 通过 https 协议,克隆 Github 上 git 仓库的源码
git clone linfuyan@github.com/git/git.git // 通过 ssh 协议,克隆 Github 上 git 仓库的源码
推送本地的内容到远程仓库
git push -u origin master // 第一次推送时使用,可以简化后面的推送或者拉取命令使用
git push origin master // 将本地 master 分支推送到 origin 远程分支
注意: git push -u origin master,第一次使用时,带上 -u 参数,在将本地的 master 分支推送到远程新的 master 分支的同时,还会把本地的 master 分支和远程的 master 分支关联起来。
获取远程仓库的内容
git pull // git fetch + git merge
git fetch //只跟新了远程分支的提交状态
查看远程仓库信息
git remote [-v]
标签管理
创建标签
git tag -a 'tagname' -m 'comment' 'commit_id'
git tag -a 'v1.0' -m 'v1.0版本' 'd82d8dc9f6e82a70916597bc58efd2d965657249'
查看标签
git tag
切换标签
git checkout tags/tagname
推送标签到远程
git push origin tagname
git push origin --tags
删除标签
//删除本地标签
git tag -d tagname
//删除远程标签
git push origin --delete tagname
临时保存
在执行很多的 Git 操作的时候,是需要保持当前操作的仓库/分支处于 clean 状态,及没有未提交的修改。如 git pull, git merge 等等,如果有未提交的修改,这些将无法操作。
但是做这些事情的时候,你可能修改了比较多的代码,却又不想丢弃它。那么,你需要把这些修改临时保存起来,这就需要用到 git stash。
git stash //保存本地仓库中的临时修改
git stash list //显示所有临时修改
git stash apply //恢复所有保存的临时修改
git stash ppo //恢复最近一次保存的临时修改
git stash clear //丢弃所有保存的临时修改