Git常用命令总结
参考 https://juejin.cn/post/6844903684476764168
Workspace:工作区
Index / Stage:暂存区
Repository:仓库区(或本地仓库)
Remote:远程仓库
创建
- git init
- git add test.txt 添加文件到暂存区
- git commit -m “add text.txt” 将暂存区的文件提交到本地仓库
- git push 将本地仓库中的文件提交到远程仓库
- git status 查看提交的状态
- git diff test.txt 查看test.txt修改了什么内容
- git log 查看历史提交记录(简介一点git log --pretty=online)
回退
git reset
git reset–hard HEAD^ 撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交
git reset --hard 版本号 回退到指定版本号,可以通过git reflog 查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作),执行了git reset --hard HEAD^后,此时用git lot 是看不出来被删除的commit操作
HEAD 说明:
a) HEAD 表示当前版本
b) HEAD^ 上一个版本
c) HEAD^^ 上上一个版本
…
- HEAD~0 表示当前版本
- HEAD~1 上一个版本
- HEAD~100前100个版本
- HEAD^2 上上一个版本
- HEAD^3 上上上一个版本
git reset --hard origin/master 将本地的状态回退到和远程的一样
删除与修改
git rm text.txt 用于从索引中删除文件或者同时从工作区和索引中删除文件。
git rm –-cached file.txt 只删除索引,不删除远程
git rm --r fileFolder 同时从工作区和索引中删除文件夹
*****只要没有commit之前,想在版本库中恢复此文件操作 git checkout – text.txt
git checkout – text.txt 可以丢弃工作区的修改,已经添加到暂存区的不受影响
分支管理
git branch 列出分支,查看当前分支
git branch master_dev 创建一个分支
git checkout master 切换到指定分支master
git checkout -b master_dev 创建分支并切换到该分支
git branch -d master_dev 删除分支
git merge master_dev (先切换到master,) 然后执行该命令合并master_dev 分支到master, 然后删除分支git branch -d master_dev ,合并分支可能会导致冲突,解决了就OOK
git merge –no-ff -m “注释” master_dev 合并master_dev 分支到master,禁用”Fast forward”模式,被删除的分支信息还在
拉取与推送远程分支
git pull (origin master)拉取远程仓库代码到本地
*****Git pull 发生冲突
解决:
11)保留本地的修改
- git stash(备份当前工作区的内容到git栈);
- git pull;
- git stash pop 然后手动合并冲突(accept current change)
12)放弃本地修改
- git reset –hard;
- git pull
git push (origin dev) 推送到远程分支dev,push之前先pull最新的代码,然后解决冲突了,再push