git常用的操作记录一下
代码仓库
创建仓库
- 进入需要创建代码库的文件夹-----cd 文件路径
- 创建初始化仓库-----git init
- 拉取远程仓库到本地-----git clone 仓库路径
添加文件到仓库
-
添加文件到暂存区
- 添加单个文件-----git add 文件名
- 添加所有文件-----git add .
- .gitignore文件中指定的文件会被忽略
- 空目录也会被忽略
-
提交到本地仓库
- git commit -----填写mssage
- 不建议使用git commit -m 'message'
- 提交遵循commit message规范
-
查看工作区状态-----git status
-
对比工作区变化-----git diff
-
建议将beyond compare配置为diff工具,用于diff以及merge冲突
仓库配置
- 全局配置用户名和邮箱
- git config --global user.name 'name'
- git config --global user.email 'email'
- 配置当前仓库用户名和邮箱
- git config user.name ''
- git config user.email ''
代码版本/提交切换
查看过去版本/提交
- 提交详情-----git log
- 提交简介-----git log --pretty=oneline
回退版本/提交
- 回退到当前最新提交-----git reset --hard HEAD
- 回退到上次提交-----git reset --hard HEAD^
- 回退到上n次提交-----git reset --hard HEAD~n
- 回退到某次提交-----git reset --hard commitid
重返未来版本
- 查看历史提交以及被回退的提交-----git reflog(有时间限制且只能本地)
- 回到未来版本-----git reset --hard commiyid
撤销修改
-
没有提交到暂存区/没有add的-----撤销修改-----git checkout 文件名
-
暂存区文件修改
- 先将暂存区文件撤回到工作区-----git reset HEAD 文件(不带--hard)
- 撤销修改-----git checkout 文件名
-
提交到了版本库-----回退版本
删除文件
- 从版本库中删除文件-----git rm 文件名
- 恢复删除-----撤销修改
- 从版本库中删除文件但是本地不删除文件-----git rm --cached 文件名
分支
创建与合并分支
- 创建分支
- 仅创建-----git branch 分支名
- 创建并切换-----git checkout -b 分支名
- 本地仓库操作,创建的都是本地的分支
- 切换分支-----git checkout 分支名
- 合并分支
- 合并某分支到当前分支-----git merge
- 删除分支
- 删除本地未合并分支-----git branch -D 分支名
- 删除本地已合并分支-----git branch -d 分支名
- 删除远程分支-----git push origin -d 分支名
- 删除远程分支-----git push <远程仓库名> -d 分支名
- 查看分支
- 查看本地分支-----git branch
- 查看本地远程所有的分支----- git branch -a
- 合并分支,解决分支冲突
- 将要合并的分支更新到最新,切换到主分支,合并分支,解决合并时的confict,提交到版本库,合并成功
- 查看分支状态-----git log --graph
- 查看分支状态-----git log --graph --pretty=oneline --abbrey-commit
- 开发完需要提交PR/MR
暂存修改
- 暂存工作现场-----git stash
- 恢复工作现场-----git stash apply
- 删除工作现场-----git stash drop
- 恢复+删除-----git stash pop
多人协作
-
查看远程库信息
- 详细-----git remote -V
- 不详细-----git remote
-
更新推送远程库
- 更新远程库信息-----git fetch
- 将远程库最新修改更新到本地-----git pull(git pull可以认为是git fetch+git merge)
- 将本地修改推送到远程库-----git push origin 分支名
-
本地分支与远程分支交互
- 使用远程分支A创建本地分支-----git checkout -b A origin/A (origin是远程仓库名,若名字一样origin/A可以省略)
- 将本地分支与远程分支关联-----git branch --set-upstream A origin/A
代码版本
查看tag
- 查看本地tag-----git tag
- 查看远程tag-----git tag -r
操作tag
- 给当前版本添加tag-----git tag 标签名
- 给历史版本添加tag-----git tag 标签名 commitid
- 删除本地标签-----git tag -d 标签名
- 删除远程标签-----git push origin -d 标签名
- 推送到远端仓库-----git push origin 标签名
- 推送所有未提交的tag-----git push origin --tags
- 更新到本地-----git pull origin --tags
其他
使用git help查看git常用的命令,使用git help -a 查看git可用的所有命令