git快速入门——常用命令行

📅 2026/7/28 21:41:11
git快速入门——常用命令行
git快速入门git工作流程git配置$ git config --global user.name “Your Name”$ git config --global user.email “emailexample.com”常用命令行git init把当前目录变成Git可以管理的仓库git add把文件添加到暂存区注git add .添加当前目录下的所有文件到暂存区git commit把暂存区内容提交到当前分支git commit -m add a new filegit status查看工作目录状态git diff查看文件差异git diff比较的是工作目录中当前文件和暂存区域快照之间的差异 也就是修改之后还没有暂存起来的变化内容。若要查看已暂存的将要添加到下次提交里的内容可以用git diff --cached命令。请注意git diff本身只显示尚未暂存的改动而不是自上次提交以来所做的所有改动。 所以有时候你一下子暂存了所有更新过的文件后运行git diff后却什么也没有就是这个原因。git diff HEAD -- filename工作区和库(HEAD)之间差异git add的反向命令git checkoutgit commit的反向命令git reset HEADgit log查看commit记录注记录中HEAD表示当前版本如果要表示上一个版本可以使用HEAD^。同理上上一个版本可以使用HEAD^^表示。如果要表示往上10个版本10个^不但不方便书写也不方便查看。往上10个版本可以使用HEAD~10表示。git log --prettyoneline查看简要信息git log --graph --prettyoneline --abbrev-commit以简要信息的形式查看分支合并图git reflog查看包含git reset回退到某一版本的记录可用于查看回退版本之前的commit id。git reset --hard 回到某一版本git reset --hard HEAD^ # 回退上一版本git reset --hard commit id # 回退到某一指定版本注慎用--hard会丢失之前的修改内容。不清楚的情况下建议不带--hard参数即git reset commit idgit checkout -- file让这个文件回到最近一次git commit或git add时的状态。主要用来丢弃暂未使用git add添加到暂存区的修改。注新版本使用git restore代替git reset HEAD file撤销暂存区的修改与HEAD保持一致。主要用来回退已经使用git add添加到暂存区的修改将回退到git add之前的状态。注新版本使用git restore --staged代替git remote add添加远程库。适用于先有本地库后有远程库。例git remote add origin gitserver-name:path/repo-name.gitorigin关联远程库时给远程库所指定的名字origin默认习惯命名。git remote -v查看远程库信息git remote rm删除远程库例git remote rm origingit clone从远程库克隆。适用于先有远程库。git clone -b branchA url从远程库克隆后默认切换到branchA分支。git clone -b branchA --single-branch url从远程库克隆只克隆branchA分支。git branch dev创建dev分支git branch查看当前存在哪些分支git switch -c dev创建dev分支并切换到dev分支。注git switch命令加上-c参数表示创建并切换。上述命令相当于下面两条命令。git branch dev 创建dev分支git switch dev 切换到dev分支旧版本使用git checkout -b dev表示创建dev分支并切换到dev分支。旧版本使用git checkout dev表示切换到dev分支。git merge合并指定分支到当前分支。git branch -d删除指定分支git stash把当前工作现场“储藏”起来等以后恢复现场后继续工作git stash list查看被“储藏”的工作现场git stash apply恢复现场但是stash内容不删除git stash drop删除stash内容git stash pop恢复现场并删除stash内容注可以多次stash恢复的时候先用git stash list查看然后恢复指定的stashgit push推送分支例git push origin mastergit push -u origin mastergit push --delete origin [branch name]# 本地分支删除之后同步删除远程仓库对应分支注第一次推送master分支时加上-u参数Git不但会把本地的master分支内容推送到远程新的master分支还会把本地的master分支和远程的master分支关联起来在以后的推送或者拉取时就可以简化命令。git branch --set-upstream-toorigin/dev dev指定本地dev分支与远程origin/dev分支的链接git pull抓取分支git rebase把本地未push的分叉提交历史整理成直线git tag tagname打一个新的标签。默认标签是打在最新提交的commit上。git tag name commit id打一个新的标签。指定某一commit。git tag -a tagname -m “massage” commit id创建带有说明的标签。-a指定标签名-m指定说明信息。git tag查看所有标签。git show tagname查看标签信息git tag -d tagname删除本地某一标签git push origin tagname推送某一标签到远程git push origin --tags推送全部尚未推送到远程的本地标签git push origin :refs/tags/tagname删除一个远程标签忽略某些文件时需要编写.gitignore。参考https://github.com/github/gitignore.gitignore文件本身要放到版本库里把指定文件排除在.gitignore规则外的写法就是!文件名。例!.gitignoregit check-ignore -v file检查指定文件匹配到哪一个忽略规则。配置别名。例git config --global alias.ci commitgit cherry-pick commit id类似merge区别在于该命令只将其他分支某一次提交合并到当前分支。git config --global core.editor vim修改git默认编辑器为vim参考文章https://www.liaoxuefeng.com/wiki/896043488029600https://blog.csdn.net/u011535541/article/details/83379151