Git常用命令

git 文件状态

  • 已跟踪:已跟踪的文件是指那些被纳入了版本控制的文件,在上一次快照中有它们的记录,在工作一段时间后,它们的状态可能处于未修改,已修改或已放入暂存区。

  • 未跟踪:除已跟踪文件以外的所有其它文件都属于未跟踪文件。

初始化

git init

本地操作

# add (工作区提交缓存区)
git add filename

git add file1 file2 #添加多个文件
git add dir #添加指定目录到暂存区
git add . #添加当前目录下的所有文件
git add -A #将所有变动同步到暂存区
git add -u #将所有修改和删除同步到暂存区

# commit (缓存区提交本地仓库)
git commit -m '提交的备注'
git commit -a -m '提交的备注' #自动跳过 git add 步骤
git commit --amend #重新提交

#查看文件状态
git status #输出详细
git status -s #输出紧凑
 -??:未跟踪的文件
 -M :文件修改但未放到暂存区
 - M:文件修改已放到暂存区

#移除文件
git rm filename

差异比较

#比较工作区与暂存区
git diff file

#比较工作区与本地仓库
git diff HEAD file

#比较暂存区与本地库
git diff --cached file

版本回退

#查看当前提交日志
git log

git log --decorate #查看当前提交日志,且显示当前分支的当前文本所在位置
git log -p -2 #显示每次提交的内容差异,最近2次提交
git log --oneline --decorate --graph --all #输出提交历史、各个分支的指向以及项目的分支分叉情况

#回退到之前版本
git reset --hard HEAD^ #回退到上一个版本
git reset --hard HEAD^^ #回退到上上一个版本
git reset --hard HEAD~100 #回退上100个版本

#回退到指定版本
##查看所有操作
git reflog #获取指定版本的版本号
git reset --hard 版本号 

修改撤销

#工作区撤销
git checkout -- filename

#缓存区撤销到工作区
git reset head 版本号

分支操作

#创建分支
git branch dev

#切换分支
git checkout dev

git checkout -b test  #新建分支并同时切换到这个分支,这是以上两个命令的缩写
git branch -v #查看每次分支的最后一次提交
git branch -vv #查看所有跟踪分支
git branch --merged #查看合并的分支
git branch --no-merged #查看未合并的分支

#合并分支
git merge dev

#查看分支
git branch

#删除分支
git branch -d 分支名

远程操作

#关联远程仓库
git remote add origin 远程仓库地
git remote -v #显示仓库简写与其对应的 URL

#拉取代码
git pull origin master
git fetch 远程仓库 #拉取你没有的信息
git pull = git fetch + git merge

#推送代码
git push -u origin master #首次推送
git push #后续推送

#克隆代码
git clone 远程仓库地址
git clone 远程仓库地址 自定义仓库名

#查看某个远程仓库
git remote show origin

#远程仓库的移除与重命名
git remote rename name newname
git remote rm name

#删除远程分支
git push origin --delete dev

#将本地分支与远程分支设置为不同名字
git checkout -b dev origin/master

打标签

#创建标签
git tag -a v0.1 -m "my version 0.1" #-m 选项指定了一条将会存储在标签中的信息

#列出标签
git tag

#显示标签信息
git show v0.1

#创建轻量标签
git tag v1.0-lw

#在某次提交打上标签
git tag -a v1.5 50ef443

#共享标签
git push origin v1.0-lw
git push origin --tags #一次性推送很多标签

#删除标签
git tag -d v1.0-lw

SSH秘钥生成

ssh-keygen -t rsa

#公私钥一般生成在 .ssh 目录下
#私钥
id_rsa
#公钥
id_rsa.pub

#添加私钥
ssh -T [email protected]

你可能感兴趣的:(git,github)