很早之前就用过 Git,SVN。这样来回切换,一些命令总是忘或者弄混淆了,这里主要备忘一下。
1,通用配置
git config --global user.name “lulei”
git config --global user.email mill0426@163.com
2,下载远程仓库
2.1,直接下载
打开对应目录,直接clone
cd /Users/lulei/Work/GitWork
git clone https://github.com/miLLlulei/AnnotationProcessor.git
说明:会自动创建AnnotationProcessor目录的。
2.2,先 init,再关联远程仓库
打开对应目录,先 init,再关联远程仓库
cd /Users/lulei/Work/GitWork/AnnotationProcessor
git init
git remote add origin https://github.com/miLLlulei/AnnotationProcessor.git
git pull origin master
说明:origin:本地仓库名
master:远程分支名
3,分支
3.1,查看当前分支
git branch 或者 git branch -vv

如图,前面带 * 的是当前分支;
3.2,切换分支
git checkout master
3.3,创建分支
git branch testing
3.4,删除分支
git branch -d testing
4,提交
4.1,查看变更文件
git status
4.2,添加文件
git add <文件名>
git add .
. 代表所有目录|文件
4.3,提交文件
git commit -m “提交信息”
4.4,暂存,保存至堆栈区
当前分支有过修改,又不想提交,可以暂存再切到另外分支:
git stash
回来,还回修改:
git stash pop
5,合并
5.1,拉取
git pull <远程在本地库名> <远程分支名>:<本地分支名>
例子:把远程分支 master 拉取合并到 本地分支 dev_lulei
git pull origin master:dev_lulei
如果本地分支和远程分支关联了,可以直接 git pull
如何关联本地分支和远程分支:
确定当前本地分支是 dev_lulei,
git push --set-upstream origin dev_lulei
说明:origin:远程在本地的仓库名
dev_lulei:远程分支名
5.2,查看远程仓库在本地的名称,一般都是 origin
git remote
5.3,推送
git push <远程在本地库名> <本地分支名>:<远程分支名>
5.3,冲突
pull 之后可能会文件冲突,这时候可以用:
git mergetool
5.4,查看提交历史
git log --pretty=format:"%h - %an, %ar : %s"
按 q,退出查看
5.5,合并
git merge master
当前分支是 dev_lulei, 把 master 分支合并到 dev_lulei。
5.6,删除缓存
git rm --cached <文件名>
有时候先使用 git add . 把所有代码添加到缓存了,但是有个别文件不想提交,可以再删除掉缓存。
5.7,删除缓存
git rm --cached <文件名>
有时候先使用 git add . 把所有代码添加到缓存了,但是有个别文件不想提交,可以再删除掉缓存。
5.8,已经commit了,回滚
git reset --hard <提交记录ID>
–hard:会把文件修改的内容全部还原
提交记录ID:可以用 git log 查看。
5.9,没有add和commit,还原
还原某个文件到某个版本:
git checkout <提交记录ID> <文件名>
还原某个文件到上个版本:
git checkout – <文件名>
还原所有文件到上个版本:
git checkout .
5.10,合并远程提交记录
首先查看提交记录:git log

我们要合并上面箭头指向的3个提交。然后我们 rebase 到第四个提交。
git rebase -i 8e3fafe115374ac8bcfed80acedd07439111cd59
会出现下图:里面的操作是 vi 命令后的。

按 s 进入编辑状态,改成下图。

然后按 ESC 退出编辑,按 :wq,保存退出后,如果出现冲突了,就先解决完冲突,再
git add .
git rebase --continue
如果想放弃这次合并提交, 则
git rebase --abort
正常继续会出现如下图:

如果要改提交记录的 message,也是一样 vi 编辑完后保存退出。如果不需要修改 message 可以直接 :wq 保存退出。
这样就算本地合并完这3个提交了。如果是远程的,就 git push -f 强制推到远端。千万不要pull,不然会多2个提交记录。
这篇博客详细记录了Git的基本操作,包括通用配置、下载远程仓库、分支管理、提交、合并等关键命令,旨在作为Git命令的备忘。通过实例介绍了如何拉取、推送、合并分支,处理冲突以及回滚提交等常见操作。
548

被折叠的 条评论
为什么被折叠?



