看了廖雪峰老师的git教程,特此记录git的常见命令,便于以后忘了查找,如果需要廖雪峰老师的教程请点击链接:
廖雪峰的git教程
git status 查看状态
git diff 查看改动
git log 查看历史提交版本,可加参数 --pretty=oneline
git reset --hard HEAD^ 回退到上一个版本-HEAD指向的是当前版本
git reflog 查看命令历史
git add 把文件修改添加到暂存区
git commit 把暂存区的所有内容一次性提交到当前分支
git checkout – file 将file文件在工作区的修改全部撤销掉(用版本库里的版本替换工作区的版本)
1.自从修改后还没有被放入到暂存区 --> 撤销后就file文件恢复为和版本库一样
2.修改后放入到暂存区然后又进行了修改 --> 撤销为刚添加到暂存区后的状态
git reset HEAD file 将file文件在暂存区的修改回退到工作区,可以配合上一个命令使用用来撤销已经add过的修改
git rm file --> git commit 删除一个文件(或者手动删除->add->commit)
git remote add origin git@github.com:z7436/Linux.git 将本地仓库和远程仓库建立关联
git push -u origin master 第一次推送master分支时加 -u 参数,将本地master分支推送到远程master分支并建立联系
git remote -v 查看远程仓库信息
git pull 把最新的提交从远程仓库抓下来
git checkout -b branch-name origin/branch-name 在本地创建和远程分支对应的分支
git branch --set-upstream branch-name origin/branch-name 建立本地分支和远程分支的关联
git branch <name> 创建一个分支
git checkout <name> 切换到分支进行开发 (git switch <name>)
git checkout -b <name> 合并前两步:创建一个分支并切换到该分支上(git switch -c dev)
git branch 查看分支
git merge <name> 将指定分支合并到当前分支
git branch -d <name> 删除分支
git branch -D <name> 强行删除一个没有被合并过的分支
git log --graph --pretty=oneline --abbrev-commit 带参数查看分支合并情况、、
git merge --no-ff -m “merge with no-ff” dev
1. --no-ff 表示用普通模式合并,合并后的历史有分支,因为创建一个新的commit,所以加上-m参数,把commit描述写进去
2. fast forward 模式看不出来曾经做过合并
git stash 可以把当前工作现场"储藏"起来(工作现场:工作区的修改和暂存区内容,当需要做其它事情但是又不满足提交条件的时候使用这种方式)
git stash list 查看工作现场
恢复现场:
git stash apply(恢复后stash内容并没有删除) --> git stash drop(删除stash内容)
git stash pop(恢复现场的同时删除stash内容)
git cherry-pick 4c805e2(commit id) 复制一个特定的提交到当前分支
转载:https://blog.csdn.net/qq_40860852/article/details/101435869