-
git clone 远程仓库地址 从远程仓库克隆项目到本地
-
git pull origin 分支名称 从远程仓库拉取该分支的最新内容
-
git push origin 本地的分支名称 把该分支推送到远程与之相关联的分支上
-
git merge 分支名称 把该分支合并到当前分支上 git branch 查看本地所有的分支
-
git branch -r 查看远程所有的分支
-
git fetch origin --prune 更新远程的分支(远程新建分支后,本地却查询不到可以更新一下后再查看)
-
git remote update origin --prune 更新远程分支
-
git checkout --track origin/远程分支名 创建一个与远程分支相关联且同名的本地分支
-
git branch -b 分支名 创建一个分支并切换到该分支上
-
git branch -d 分支名 删除一个分支
-
git checkout 分支名 切换到该分支上
-
git status 查看文件状态
-
git add ./文件名 将全部文件/指定文件提交到本地仓库的暂存区(stage)
-
git commit -m “注释” 将暂存区的内容提交到当前分支上
-
git reset --hard HEAD^ 回退到上一个版本(有多少个 ^ 对应回退到前多少个版本)
-
git reset --hard HEAD~100 回退到前100个版本, 是第14个方法的简写
-
git log --pretty=oneline 查看历史纪录
-
基于 tag 新建分支:修改问题验证并合并,打一个新的tag并描述修改内容
git checkout -b newBranchName tagName/tagNumber
eg.
git checkout -b fix-tip v2.3.0.1
git checkout -b fix-tip 69b784ac -
如何删除中间指定的commit : git rebase -i 需要删除commitID 之前的 commitID;按 i 进入编辑模式;找到要删除的 commitID 把 pick 改为 drop;编辑完成,按ESC退出编辑;然后按Shift+“;”,再输入wq!(保存文件的写入修改)退出。(q!是不保存修改);再打印 git log 就已经把需要删掉的 commit 删除了
-
回退刚刚已经 commit 的文件: git reset --soft HEAD^
-
只合并 A 分支某一次的 commit 到 B分支:先在A分支上git log 查看要合并 commit 的 commitId ,然后切换至 B 分支, 执行 git cherry-pick commitId,就可以看到更改了
常见问题
1. 删除刚刚修改的文件的内容
1) 已经 git add . 且 git commit 了
a. 手动删除, 再次 git add . 且 git commit 掉
b. 版本回退, git reset --hard HEAD^
2) 还没有 git add .
使用 git checkout -- 文件名 可以撤销在工作区做的修改
2. 想要永久的删除某个文件
新增的文件 c.txt 和 d.txt 我已经 git add . 且 git commit 掉了,
但我不想要了,
此时可以手动删除或者使用命令 rm 文件名, 最后再次 git add . 且 git commit 掉就可以了
3. 想要恢复删除的文件
新增的文件 c.txt 和 d.txt 我已经 git add. 且 git commit 掉了,
但我不小心误删了,
此时可以使用 git checkout -- 文件名找回来(文件夹是一样的也可以找回来)
4. 当前分支的东西还没有 git add .且 git commit 但是我必须要切换到另一分支上
我在当前分支上做了一些修改, 还没有做完不能 git add . 且 git commit 掉,
但必须切换到另外一个分支上, 此时我们可以使用 git stash 隐藏起来刚刚做的修改,
此时 工作树是干净的, 切换到另外一个分支上, 完成工作后, 切回来,
使用 git stash pop 即可, 刚刚被隐藏起来的内容又会被弹出来了
感觉这篇博客说的很全面, 可以参考: git 提交 全部文件