虽然说目前很多工具都已经集成了git,但是有些时候还是会需要用到命令行,所以这篇文章整理一些常用的git命令。
设置用户名和邮件
git config --global user.name name
git config --global user.email email
–global表示全局,所以使用这两条命令配置后,在这个系统中所有的操作都会使用这个信息。
如果想针对特定仓库使用不同的信息,可以在那个仓库目录下执行不带–global选项的这两条命令。
如果想查看设置的用户名和邮件,不带name和email就可以了。
git config --list --show-origin
:列出所有 Git 配置的设置,并显示这些设置来自哪个配置文件。
git config --list
:则只是简单列出所有的 Git 配置设置,不显示它们的来源。
git config --global core.editor "code --wait"
:设置vscode为默认编辑器,如果想设置其他编辑器为默认编辑器,建议查看一下git官网的文档。
git init
:将当前目录初始化为一个git仓库。
git clone <url>
:克隆仓库。
git status
:查看文件状态,比如查看哪些文件修改了,哪些文件新增了。
git add <file>
:一个作用是将文件纳入追踪,另一个作用是暂存文件。
git diff [file]
:查看未暂存的更改,使用集成工具或许效果更好。
git diff --staged [file]
:查看已暂存的更改,使用集成工具或许效果更好。
git commit -m <mes>
:提交已暂存的更改。
git commit -a -m <mes>
:提交已跟踪的更改(不只是已暂存的)。
git log
:查看提交历史,使用集成工具或许效果更好。
git fetch <remote>
:将远程仓库(默认origin)的数据同步到本地仓库,获取远程仓库的一些新信息,比如标签,比如远程仓库有一个新的分支,而本地仓库却看不到这个分支,就可以使用这个命令了。
git push <remote> <branch>
:将本地的更改推送到远程仓库,如果远程不存在对应的分支,就是将本地分支发布到远程。
git branch
:查看本地仓库所有分支。
git branch -r
:查看远程仓库所有分支。
git checkout -b <newbranchname>
:基于当前分支创建一个新分支并且切换到新分支。
git checkout <branchname>
:切换到分支branchname,如果该分支不存在,而且存在一个同名远程分支,则会创建跟踪分支,这种情况算是git checkout --track <remote>/<branch>
的便捷命令。
git merge <branchname>
:将分支branchname合并到当前分支。
git mergetool:用来解决合并冲突。
git branch -d <branchname>
:删除本地分支branchname。
git branch -D <branchname>
:强制删除本地分支branchname。
git checkout --track <remote>/<branch>
:创建一个跟踪远程分支的新同名本地分支,并且切换到该分支。
git push <remote> --delete <branch>
:删除远程分支。
git diff <branch>
:比较当前分支和branch分支的差异。
git stash
:将当前分支未提交的修改保存为新的贮藏。
git stash list
:查看贮藏列表。
git stash apply
:将最新的贮藏应用到当前分支。
git stash apply <stashname>
:将指定的贮藏应用到当前分支。
git pull
:拉取远程仓库更新的内容,并且将当前分支跟踪的远程分支合并到当前分支,相当于git fetch和git merge一起使用。