git常用命令大全

原创教程 waitig 944℃ 百度已收录 0评论

在实际工作中,git的操作基本都借助IDE来完成,使用git命令行操作的机会越来越少了。

但有些时候,IDE所自带的git插件并不能很好的满足使用需求,还是需要使用命令的方式来解决,在此记录下Git常用的命令。

一、配置用户名和邮箱

下面的这两行命令就是设置用户名和email:

$ git config --global user.name author #将用户名设为author
$ git config --global user.email author@corpmail.com #将用户邮箱设为author@corpmail.com

Git的配置信息分为全局和项目两种,上面命令中带了“–global”参数,这就意味是在进行全局配置,它会影响本机上的每个一个Git项目。

查看配置信息可以用如下命令:

$ git config --list

二、仓库操作

初始化一个新仓库:

git init

克隆一个仓库:

git clone [url]

比如克隆wait主题:

git clone https://github.com/waitig/wait.git

三、分支操作

创建分支:

git branch testing

切换分支:

git checkout testing

创建并切换分支:

git checkout -b iss53

合并分支

比如,你要将dev分支的代码合并到master分支,则需要先切换到master分支,再将dev分支的代码合并到master分支,具体代码如下:

$ git checkout master
Switched to branch 'master'
Your branch is up-to-date with 'origin/master'.

$ git merge dev

删除分支:

git branch -d dev_test

四、代码管理

显示当前状态:

git status

添加文件到缓存区:

git add

后面加需要添加的文件或目录路径。可以使用 -A参数将所有未缓存文件加入缓存区。

提交更新

当有修改需要提交时,用git commit命令提交更新。

git commit -m "提交说明"

提交时自动加入缓存区:

git commit -a -m "提交说明"

从git仓库中和工作区中删除文件:

git rm

仅从缓存中删除文件:

git rm --cached 文件名

移动文件

$ git mv file_from file_to

查看近期提交历史

git log

撤销操作:

git commit --amend

运行此命令,会进入文本编辑状态,编辑上一次的提交信息。

取消已经暂存的文件

git reset HEAD <file>...

抛弃文件修改(将其还原到上一个版本)

git checkout -- <file>...

回退到某个版本

git reset --hard 02c4b5b310d638c4d1e14f758aa56afdd4c49322

五、远程仓库操作

查看当前的远程库

git remote

添加远程仓库

git remote add [shortname] [url]

从远程仓库下载数据

git fetch [remote-name]

推送数据到远程仓库

git push origin master

查看远程仓库信息

git remote show origin

远程仓库的删除和重命名

$ git remote rename pb paul
$ git remote
origin
paul

这段代码把远程仓库的名字由 pb 改成了 paul

六、标签操作

列出已有标签

$ git tag

搜索模式

比如要搜索所有带v1.0的标签:

$ git tag -l 'v1.0.*'
v1.0.1
v1.0.2
v1.0.3

含附注的标签

git tag -a v1.4 -m 'my version 1.4'

签署标签

git tag -s v1.5 -m 'my signed 1.5 tag'

轻量级标签

$ git tag v1.4-lw
$ git tag
v0.1
v1.3
v1.4
v1.4-lw
v1.5

验证标签

可以使用 git tag -v [tag-name] (译注:取 verify 的首字母)的方式验证已经签署的标签。此命令会调用 GPG 来验证签名,所以你需要有签署者的公钥,存放在 keyring 中,才能验证:

git tag -v v1.4.2.1
object 883653babd8ee7ea23e6a5c392bb739348b1eb61
type commit
tag v1.4.2.1
tagger Junio C Hamano <junkio@cox.net> 1158138501 -0700
GIT 1.4.2.1
Minor fixes since 1.4.2, including git-mv and git-http with alternates.
gpg: Signature made Wed Sep 13 02:08:25 2006 PDT using DSA key ID F3119B9A
gpg: Good signature from "Junio C Hamano <junkio@cox.net>"
gpg:                 aka "[jpeg image of size 1513]"
Primary key fingerprint: 3565 2A26 2040 E066 C9A7  4A7D C0C6 D9A4 F311 9B9A

分享标签

默认情况下,git push并不会把标签传送到远端服务器上,只有通过显式命令才能分享标签到远端仓库。其命令格式如同推送分支,运行 git push origin [tagname]即可 :

$ git push origin v1.5
Counting objects: 50, done.
Compressing objects: 100% (38/38), done.
Writing objects: 100% (44/44), 4.56 KiB, done.
Total 44 (delta 18), reused 8 (delta 1)
To git@github.com:schacon/simplegit.git
* [new tag]         v1.5 -> v1.5

如果要一次推送所有本地新增的标签上去,可以使用 --tags选项:

$ git push origin --tags
Counting objects: 50, done.
Compressing objects: 100% (38/38), done.
Writing objects: 100% (44/44), 4.56 KiB, done.
Total 44 (delta 18), reused 8 (delta 1)
To git@github.com:schacon/simplegit.git
    * [new tag]         v0.1 -> v0.1
     * [new tag]         v1.2 -> v1.2
    * [new tag]         v1.4 -> v1.4
    * [new tag]         v1.4-lw -> v1.4-lw
     * [new tag]         v1.5 -> v1.5

本文由【waitig】发表在等英博客
本文固定链接:git常用命令大全
欢迎关注本站官方公众号,每日都有干货分享!
等英博客官方公众号
点赞 (0)分享 (0)