git入门指令集

安装

请移步:git安装

配置

配置用户名和电子邮件

git config --global user.name"Your Name"
git config --global user.email"[email protected]"

这两个参数在每次提交时会记录到历史记录内,对于多人协作来说,很重要

创建版本库

创建版本库:git init 仓库名

该命令创建一个新的名为”仓库名“的目录,该目录下的所有文件和目录整体构成工作区,被git监管

跟踪新文件和提交

将新文件加入跟踪/将文件的修改加入暂存区:git add 文件名 文件名
将所有新文件加入跟踪/将所有文件的修改加入暂存区: git add .
提交已经加入跟踪的文件:git commit -m"提交消息"
提交某个已经加入跟踪的文件:git commit 文件名 -m"提交消息“
提交本地已经跟踪文件的所有更新git commit -m"提交消息"-a

状态查看

查看git工作区和暂存区的情况:git status -s

该命令可以显示git工作区中,没有加入跟踪的文件、加入跟踪的文件

?? file:未跟踪状态
A file:已添加
M(红色) file:未暂存的修改
M(绿色) file:已暂存的修改

查看仓库状态:git log head~N -N

head~N 表示从最近提交开始倒数第N个修订,head 指向最近的一次修订;
-N 指定输出总数量
即该命令才最近的一次修订开始列出N个修订的信息

简易命令:git log

此命令以时间为依据做反序排序,打印概要信息

git log的附加参数:

--pretty=oneline时简明输出,只显示SHA1标识,和提交消息
--pretty=format:'%s'只显示提交消息
--abbrev-commit缩写SHA1标识符
--graph以图形展示修订(可以查看分支合并情况)
标识符和缩写后的标识均可代替head~N来指向某一次修订

查看某个修订的详细情况:git show head --quiet

不加--quiet时,显示它与前一个修订之间的差异

查看差异:git diff head~N head~N 要查看的文件
查看工作区和仓库的差异:git diff

撤销

将已经跟踪的文件取消跟踪:git reset 文件名

不指定文件名时全部清空

撤销已经跟踪了的文件的修改:git checkout --文件名
撤销全部修改:git checkout --.

git checkout这个命令的实质是用仓库版本替换工作区版本
git checkout 命令,一旦撤销无法还原

版本回退:git reset head~N

--hard删除了工作区的文件
--soft回到上次提交之前的状态,即提交过的文件在暂存区中
--mixed(默认)提交过的文件回到未跟踪状态,即不在暂存区

撤销回退:
1.使用git reflog查看列出全部的操作
2.使用git reset head@{N}或者git reset 标识符

删除文件:
将文件从仓库和暂存区移除:git rm --cached 文件名
将文件从本地删除:git rm -f 文件名

分支

查看分支:git branch
创建分支:git branch 分支名
切换分支:git checkout 分支名
创建并切换分支:git checkout -b 分支名
删除分支:git branch -d 分支名
合并分支dev到主分支:git merge dev

在主分支的仓库历史中可以看过被合并分支的存在记录

分支历史整体搬移:git rebase 分支名

在主分支库中无法看到被合并分支的存在记录

强制禁用Fast forward 模式:git merge --no-ff

当被合并分支对于当前分支来说只增不减时,自动开启Fast forward模式
merge 时生成新的commit,从分支历史上可以看出分支信息

远程仓库

查看远程库信息:git remote
查看远端库权限:git remote -v
关联远程库:git remote add origin 远端库地址

origin 为远程库的名字,git默认叫法

从远端库上克隆:git clone 远端库地址
将远端库上的东西拉下来:git pull 远端库名称 分支
将本地库的一个分支推上远端库:git push 远端库名称 分支

第一次推送使用:git push -u 远端库名称 分支

创建本地分支和远程分支的联系:git branch --set-upstream 本地分支 远端库名称/分支

暂存区储存

储存:git stash
恢复:git stash apply
删除储存内容:git stash drop
恢复并删除:git stash pop
查看储存内容:git stash list

标签

在最新提交的修订上打上标签:git tag 标签名
对某一次修订打上标签:git tag 标签名 标识符
查看所有标签:git tag
查看标签信息:git show 标签名
指定说明文字:git tag -a 标签名 -m "说明文字“
采用PGP签名标签:git tag -s 标签名 "

前提是安装了gpg

删除本地标签:git tag -d 标签名
向远端库推送标签:git push 远端库名称 标签名
推送全部标签: git push 远端库名称 --tags
删除远端库标签:git push 远端库名称 :refs/tags/标签名

你可能感兴趣的:(git入门指令集)