常用的git命令

创建仓库

$git init

仓库创建后,目录中会新增一个 .git 文件夹,使用 $ls -ah 可见,这里面包含了所有 git 操作需要的东西

存储和提交

$git status

查看暂存区的状态,可以列出当前目录中”还未被跟踪的文件“(Untracked files)、”已修改但还未添加到暂存区的文件“(Changes not staged for commit)、”已添加到暂存区等待提交到本地仓库的文件“(Changes to be committed)

$git add <path>

将指定文件或目录的新增和修改添加到暂存区

$git add -A

”A“代表 all,意为把工作区的所有变化包括新增、修改和删除添加到暂存区

$git commit -m "message"

将暂存区的内容提交到仓库的当前分支中

$git rm <path>

同时从工作区和暂存区删除指定文件,再使用 $git commit 提交,删除仓库中的文件

查看提交历史

$git log

查看仓库的提交历史

版本回退

$git reset --hard <commit id>

回退到某个版本,工作区的源码也会变为这个版本的内容

<commit id>可以使用 HEAD、HEAD^、HEAD~n 代替,分别表示当前版本,上一版本,以上n个版本

$git checkout <commit id> <path>

将某个文件在指定节点的版本加到暂存区和工作区中

$git revert <commit id>

回退到某个版本,生成一个新版本来撤销之前的所有版本,但它们都会被保留

分支管理

$git branch <branch name>

创建一个新的分支

$git checkout <branch name>

切换到另一个分支

$git checkout -b <branch name>

创建并切换分支

$git merge <branch name>

合并某分支到当前分支

$git branch -d <branch name>

删除分支

远程仓库操作

$git clone [-o <自定义远程主机名>] <远程版本库的地址> [<自定义本地目录名>]

从远程主机克隆一个版本库,该命令会在本地主机生成一个目录,与远程主机的版本库同名

$git remote

列出所有远程主机

$git remote show <远程主机名>

查看该主机的详细信息

$git remote add <远程主机名> <地址>

用于添加远程主机

$git remote rm <远程主机名>

用于删除远程主机

$git remote rename <原主机名> <新主机名>

用于重命名远程主机

$git fetch <远程主机名> [<远程分支名>]

将某个远程主机的更新,全部取回本地,如果指定了分支名,则只取回该分支的更新。所取回的更新,在本地主机上要用"远程主机名/分支名"的形式读取,使用 $git branch -a 可以查看包括远程分支在内的所有的分支

$git pull <远程主机名> <远程分支名>:<本地分支名>

取回远程主机某个分支的更新,再与本地的指定分支合并,这等同于先做 $git fetch,再做 $git merge 操作

$git push <远程主机名> <本地分支名>:<远程分支名>

用于将本地分支的更新,推送到远程主机

原文地址:https://www.cnblogs.com/blog-cxj2017522/p/6895336.html