提示:记录工作中常用的git命令,如有错误请指点
便于理解git工作方式的小游戏:learngitbranching
1.1 提交单个文件到暂存区:git add 文件名
1.2 提交多个文件到暂存区:git add 文件名 文件名 文件名 …
1.3 提交当前目录下所有的修改内容到暂存区:git add .
1.2.1 提交整个暂存区内容至仓库:git commit -m “备注”
1.2.2 提交固定文件至仓库:git commit 文件名 文件名 文件名 … -m “备注”
1.3.1 推送内容至远程仓库:git push 远程仓库名 本地分支名
1.3.2 强制推送:git push --force 远程仓库名 本地分支名
1.3.3 推送到异名分支:git push 远程仓库名 本地分支名:远程分支名
1.4.1 从远程获取代码并合并本地的版本:git pull 远程仓库名 本地分支名
1.4.2 从异名分拉取代码:git pull 远程仓库名 本地分支名:远程分支名
1.5.1 回退本版本修改的内容:git reset --head HEAD
1.5.2 回退commit到上一个版本:git reset --soft HEAD^
1.5.3 回退暂存区和commit到前三个版本:git reset HEAD~3
1.5.4 回退到某个版本回退点之前的所有信息:git reset --head 版本号 (版本号不写全也行,至少需要前4位)
关于soft、mixed(默认)、hard的区别
1.soft:重置git commit。
2.mixed:重置git conmit和git add。
3.hard:重置git commit和git add和工作副本的修改。
参看我认为很好的一个说明和菜鸟教程的说明
在目录中创建新的 Git 仓库:git init
拷贝一个 Git 仓库到本地:git clone 路径
3.1.1 查看文件状态:git status
3.1.2 查看简洁的文件状态:git status -s
3.2.1 查看已提交的缓存区和未提交到缓存区的所有改动:git diff HEAD
3.2.2 未提交到暂存区的改动:git diff
3.2.3 已提交到暂存区的改动:git diff --cached
3.3.1 删除提交到暂存区的文件:git rm --cached 文件名
3.3.2 从暂存区和工作区中删除:git rm 文件名
查看历史提交记录:git log
推荐使用:git log --pretty=pneline
查看历史操作:git reflog
与git log不同的是git reflog可以查看已经被删除的commit记录,常用于回退以后又想再次回到之前的版本的场景下。
4.3.1 以列表形式查看指定文件的历史修改记录:git blame 文件名
4.3.2 查看某个文件特定行数的修改:git blame -L 开始行数,结束行数 文件名
5.1.1 查看现有分支:git branch
5.1.2 创建分支:git branch 分支名
5.1.3 删除分支:git branch -d 分支名
5.1.4 强制修改分支指向某次提交:git branch -f 版本号
5.2.1 切换分支:git checkout 分支名
5.2.2 创建分支并切换分支:git checkout -b 分支名
5.2.3 将某个文件修改为之前版本:git checkout 分支名~2 文件名
5.3.1 合并某个分支到当前分支:git merge 分支名
5.4.1 复制某个提交到当前分支:git cherry-pick 版本号
5.4.2 复制多个提交到当前分支:git cherry-pick 版本号 版本号 版本号 …
HEAD 是一个指针,指向的是commit 对象,它是下一次提交的父结点
^表示上一次
~后边跟后边跟什么整数就是回退多少个版本