git 常用命令
- 拉去远程仓库代码
git clone git@git.远程git地址
配置
- 查看系统配置
git config --system --list - 查看当前用户(global)配置
git config --global --list - 查看当前仓库配置信息
git config --local --list - 配置git,设置账号
git config user.name ‘git账号名’
git config user.email 'git邮箱’ - 初始化本地仓库
git init
提交
-
提交代码至暂存区
git add <文件名> -
将暂存区的内容提交到本地仓库的master分支
git commit -m "修改描述/注释" -
commit完发现漏掉文件还没有添加(add),或者-m版本说明写的不够全面,想要修改
git commit --amend(不会产生新的log,在最近一次版本提交上修改)
查看
-
查看文件提交状态
git status -
查看最近文件提交记录
git log -
查看历史版本,即使回退版本也能查看提交的记录
git reflog
跳转版本
- 回退
git reset --hard HEAD^ (多少个^回退多少个版本)
git reset --hard HEAD~1 (数字几就回退几) - 跳转
git reset --hard 7位版本号
版本对比
-
比较工作区和暂存区
git diff -
比较工作区和仓库
git diff HEAD (比较所有)
git diff 快照id(比较指定快照) -
比较暂存区和仓库
git diff --cached(比较所有)
git diff --cached 快照id(比较指定快照id) -
比较仓库两个快照
git diff 快照1id 快照2id
删除
- 删除文件,删除的只是工作目录和暂存区的文件。提交完删除,快照里仍然保留信息
git rm 文件名 - 暂存区有一个原test文件,工作区test文件已被修改
git rm -f 文件名(暴力删除,工作区和暂存区全删)
git rm --cached 文件名(只删除暂存区)
修改文件名
- 重命名
git mv 旧文件名 新文件名
分支
- 创建分支
git branch 分支名 - 切换分支
git checkout 分支名 - 显示所有分支
git log --oneline --graph --all (oneline:一行精简显示 graph:图形化显示 all:显示所有分支)
- 合并分支
git merge 分支名 - 创建并切换到分支
git checkout -b 分支名 - 删除分支
git brach -d 分支名 - 切换到匿名分支,用于做一些有风险的提交,切换之后修改文件,提交后切换至master,中间的改动会消失
git checkout HEAD~ - 将分支推送到远程
git push -u origin 分支名
ssh
- 生成一对ssh公私钥
ssh-ketgen -t -rsa(生成在用户/.ssh文件夹下) - 将本地仓库和远程仓库相关联
git remote add origin https://github.com/github用户名/远程仓库名.git - 推送本地仓库代码
git push -u origin master
标签
- 查看当前快照标签
git tag - 打标签
git tag -a 标签名 -m “标签描述”(本地)
git push origin 标签名(推送标签到远程仓库) - 删除标签
git tag -d v1.0(本地)
git push origin --delete tag 标签名