Git常用操作,一文打尽
2019-09-24
次访问

创建版本库
git clone url克隆远程版本库git init初始化本地版本库
配置
git config --global user.name 'chengcp'配置global级别的用户名git config --global user.email '1326895569@qq.com'配置global级别的邮箱git config --global -l查看global级别的配置列表git config --global --unset user.name删除用户名git config --global alias.last 'log -1 HEAD'配置last别名,使用git last将显示最近的一次提交记录
添加和删除文件
git add file1 file2添加指定文件到暂存区git add dir添加指定目录到暂存区git add .添加当前目录的所有文件到暂存区git mv oldname newname对一个已经追踪过的文件进行改名,同时加入暂存区git rm file1 file2删除工作区文件,同时将这次删除放入暂存区git rm --cached file停止追踪指定文件,但该文件会保留在工作区;tracked变成untracked
提交
git commit file1 file 2 -m message提交暂存区指定文件到本地仓库git commit -m message提交暂存区所有文件到本地仓库git commit -a -m message自动暂存所有已经追踪过的文件,且提交到本地仓库git commit --amend -m message使用一次新的提交,替代上次提交
分支
git branch查看所有本地分支git branch –r查看所有远程分支git branch –a查看所有远程和本地分支git branch –v查看本地所有分支最新一次提交信息git branch [branch]新建分支git checkout –b [branch]新建一个分支,并且切换过去git branch [branch] [commit]基于某次提交,建立一个分支git branch --track [branch] [remote-branch]建立一个分支,并且与远程分支建立追踪关系git branch --set-upstream [branch] [remote-branch]在现有的本地分支和远程分支之间建立追踪关系git branch –m [old-branch] [new-branch]重命名分支git merge [branch]把指定分支合并到当前分支git chery-pick [commit] [commit]选择提交,合并进当前分支git branch –d [branch]删除本地分支git push origin –d [branch]删除远程分支git checkout [branch]切换分支git checkout -切换到上一个最近使用过的分支
标签
git tag列出所有标签git show [tag]查看指定标签信息git tag [tag]给最近一次提交打一个标签git tag [tag] [commit]在某次提交上打一个标签git tag –d [tag]删除本地指定标签git push origin –d tag [tag]删除远程的标签git push origin [tag]推送指定标签git push origin --tags推送所有标签
查看信息
git status查看文件状态git help [command]获取帮助文档git [command] --help获取帮助文档git log查看当前分支的提交记录git log –all查看所有分支的提交记录git log -5 --oneline --graph查看最近 5 次提交记录,以单行、树状图形式显示git reflog查看本地所有变更记录git diff查看工作区和暂存区的差异git diff -- file某个文件在工作区和暂存区的差异git diff HEAD工作区和最新一次提交的差异git diff --cached暂存区和 HEAD 的差异git diff branch_a branch_b – file某文件在两个分支间的差异
远程操作
git remote -v查看所有远程仓库git ls-remote origin查看远程仓库引用列表git remote show origin查看远程仓库信息git fetch origin拉取远程仓库最新提交git pull origin master拉取远程master,并且合并到本地当前分支git remote add upstream url添加一个新的远程仓库,命名为upstreamgit push origin master推送到远程origin的master分支git push origin --all推送所有分支到远程仓库git remote prune origin删除远程仓库中不存在的分支
撤销
git reset --soft HEAD回滚到指定版本,保留工作区和暂存区git reset --mixed HEAD回滚到指定版本,保留工作区,清空暂存区;--mixed是默认参数,即等同于git reset HEADgit reset --hard HEAD回滚到指定版本,清空工作区和暂存区git reset HEAD -- file清空暂存区中某个文件的修改git checkout -- file检出暂存区的文件到工作目录git checkout .检出暂存区的所有文件到工作目录git revert HEAD~ 2回滚到 2 个祖先提交的版本,同时产生新的提交记录git revert --continue冲突解决,且把修改提交到暂存区后执行回滚,生成一个新的提交git revert –abort取消回滚,回到之前的状态
储藏
git stash将工作区和暂存区的变更保存到储藏堆栈中,同时工作区和暂存区恢复到HEAD一样git stash list查看储藏列表git stash pop应用最近的一次储藏,并且从储藏栈中移除该条记录git stash apply stash@{0}应用最近的一次储藏,不移除记录;等同于git stash applygit stash pop --index应用最近一次储藏,--index表示暂存区的变更也会更新,否则只更新工作区变更git stash drop stash@{0}移除储藏记录