Git 常用命令行

Git 常用命令行

查看版本号

git --version

查看帮助

git <verb> --help
git help <verb>
man git-<verb>

查看 Git 帮助手册。<verb> 为具体的命令,比如 git clone --help。如果不输入具体的命令,则会显示常用的操作名,可以根据显示的操作名进一步在帮助手册中查找。

本文仅起到一个指导与查阅的作用,可能不会覆盖到所有的命令行,因此遇到有困惑的地方,请善用搜索引擎,或者使用 git 的查看帮助语句。

除了直接使用 git <verb> --help,在具体的操作时如果遗忘了命令行的具体写法,也可以在具体操作后加上 -h 查看帮助。

如:

// 本语句将会输出关于克隆操作命令行后面的参数与选项
git clone -h

设置用户信息

git config --global user.name 'name'
git config --global user.email 'email'

GitHubGitLab 在页面上显示提交者时,会根据提交信息中的用户名与邮箱来关联账号。因此当信息不一致时,页面上错误的提交者信息可能会对其他人造成困扰。

使用 --global 时会设置全局的用户信息。如果在不同的项目想使用不同的用户名与邮箱进行提交,可以通过 cd 命令进入项目所在目录,使用不带 --global 选项的命令行进行设置。

初始化

git init

将当前目录初始化为 Git 仓库目录。

成功执行初始化后,目录中会出现 .git 文件夹。

一般该语句用于从本地新建 Git 仓库。不过目前更加普遍的做法是在网页上创建空的项目仓库,再克隆到本地进行开发。

克隆仓库

git clone <repo>

克隆远端仓库到当前目录。<repo> 可以是 httpssl 等形式的地址,只需要有权限都能进行克隆。

克隆仓库时,会在当前目录下创建一个与仓库名同名的文件夹,因此可以直接克隆仓库,不必再特地创建一个文件夹后再克隆。

文件操作

查看文件状态

git status

可以查看当前工作目录下文件的状态,同时也会显示当前本地仓库中有多少未上传的提交等。

暂存文件

git add <file-path>

将新文件、修改后的文件加入暂存区。file-path 可以是具体的文件,也可以是某一个文件夹。如果是文件夹,那么文件夹下的所有文件都会被添加进暂存区。如果是 *,那么当前路径下所有的新文件或修改文件 都会 被加入暂存区。

如果对一个文件暂存后,再次修改该文件,可能出现工作区、暂存区都存在该文件的情况。这时候只需要 再次 执行 add 命令进行暂存即可。

删除文件

git rm <file-path>

从工作区中移除指定文件并且将该删除操作记录到下一次提交中。

git rm 命令其实等于直接删除文件后,对文件执行 git add 两步操作的结合。

取消修改

修改未提交
// 将暂存的文件恢复到暂存前的状态
git reset HEAD <file-path>

// 撤销文件的修改
git checkout -- <file-path>

以上两个命令还可以撤销使用 git rm 对文件的删除操作。

修改已提交
// 将提交回退到工作区
git reset HEAD^

// 撤销文件的修改
git checkout -- <file-path>

如果需要将整个提交进行撤销,则使用

// 查看提交历史,获取 commit 的 id
git log

// 将当前工作区重置到某次提交
git reset --hard <commit-id>

查看差异

git diff <file-path>

查看 尚未暂存 的文件的修改内容(或者新增的文件的内容)。如果不指定某个文件的话,将会显示工作目录中所有未暂存的文件的内容。

当文件已经暂存,那么将不会输出任何改动内容。

由于终端在查看大量文件的差异时并不是很方便,因此推荐使用客户端进行查看。

提交修改

git commit -m <changelog>

将当前暂存的文件提交到本地仓库。changelog 为修改的内容。如果不附带 -m 选项,会打开一个文本编辑来输入提交内容。

查看提交记录

git log

查看提交记录,每一次的提交都会有一个唯一的 commit id。这个 id 可以作为代码回退的标记。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3OzXLBFS-1592901041211)(media/15486967415657.jpg)]

远程仓库

查看远程仓库

git remote

输出当前项目所添加的所有远程仓库的名字。

如果加入 -v 选项,则会输出当前项目添加的所有远程仓库的名字和地址。

添加远程仓库

git remote add <shortname> <url>

shortname 可以自由指定(只要你能够明白这个仓库是做什么的)。

拉取远程仓库

git pull <shortname> <branch>

拉取指定的远程仓库的指定分支到本地。如果不添加分支的名字的话,会拉取所有分支到本地。

推送到远程仓库

git push <shorname> <branch>

将本地的修改推送到远程仓库。

分支

查看分支

git branch

查看当前项目所有用的分支。分支前的 * 表示当前正处在哪一条分支。

如果加上 -a 选项,则会列出本地和远程仓库的所有分支。

创建新的分支

git branch <name>

从当前工作区的状态新建一个分支。

切换分支

git checkout <branch>

切换分支。

如果加上 -b 选项,则会从当前工作区新建一个分支,并且进行切换,前提是 branch 不是已存在的分支。

合并分支

// 移动到想合入分支后
git merge <branch>

这里的 branch被合并 的分支名。

注意,一定要先移动到想合并进来的分支。比如想将 bugfix 分支合并到 master,就需要先移动到 master 分支,再执行合并命令。

删除分支

删除本地分支
git branch -d <branch>

需要先 移动到其他分支上 才能操作!

删除远程分支
git push <remote> --delete <branch>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值