开发中常用的git命令

本文详细总结了开发工作中需要掌握的git命令

1.配置(用户级)用户名和邮箱

用户名和邮箱是本地git终端的一个变量,每次commit都会有本地用户名和邮箱的记录。在push本地分支到远端时,也会依据远程仓库保存的邮箱验证一致性。

//配置用户名、邮箱
git config --global user.name 'xxq'		//配置用户名
git config --global user.email 'xxx@xxx.com'	//配置邮箱
git config user.name	//查看用户名

//生成SSH密钥
ssh-keygen -t rsa -C "YourEmail"
cat ~/.ssh/id_rsa.pub

2.添加远端仓库地址

git remote add upstream 远端仓库地址	//upstream是给地址取的别名
git remote set-url origin 远端仓库地址	//修改远程仓库地址
git remote set-url upstream --push no_push	//Never push to upstream master 
git remote rm origin	//删除远端仓库地址
git remote rename <old> <new>	//修改别名
git remote -v

3.拉取远端代码

git clone 仓库地址
git fetch 远程仓库别名	//移动跟踪的远程分支<remote>/<branch>的指针
git rebase 远程仓库别名/远程分支名	//合并入最新代码
git pull	//拉取最新代码
git checkout -b 本地分支名 远程仓库别名/远程分支名		//基于远程分支创建本地分支

4.分支操作

git分支,本质上就是一个指向commit对象的指针,创建分支相当于多一个指针指向当前的commit对象。git有一个HEAD的特殊指针,指向使用者当前处在的分支指针,切换分支相当于将HEAD指针指向指定分支的最新commit节点。
Git的分支原理

git branch 分支名	//创建本地分支
git branch --set-upstream-to=远程仓库别名/远程分支名 本地分支名	//关联远程分支
git branch -r	//查看远程分支
git branch -a	//查看所有分支
git branch -m 旧名 新名	//修改本地分支名
git branch -d/-D 分支名	//删除本地分支
git push 远程仓库别名 --delete 远程分支名	//删除远程分支
git branch -vv
git checkout 分支名	//切换分支
git checkout -b 分支名	//创建并切换分支
git checkout <commit>	//切换分支到某次提交 
git checkout -b 分支名 <commit>	//基于某次commit创建分支
git stash	//将所有未提交的修改(工作区和暂存区)保存至堆栈中,用于后续恢复当前工作目录
git stash save '注释信息'	
git stash pop <stash@{id}>	//弹出stash堆栈中的内容,并应用到当前分支的工作目录上
git stash apply <stash@{id}>	//将堆栈中的内容应用到当前目录,不同于git stash pop,该命令不会将内容从堆栈中删除,适应于多个分支的情况
git stash list	//查看stash栈中的内容

5.提交代码

git status	//查看工作区中文件状态
git add <file1> <file2>
git add .	//从工作区添加所有更改文件到暂存区
git commit	//从暂存区提交所有更改文件到本地版本库
git commit --amend	//修改最新commit的提交信息
git rebase -i <commit>	//合并多次提交,从后往前依次合并到前一个提交(或只修改提交信息)
git push -f 远程仓库别名 本地分支名:远程分支名	//推送本地代码到远端仓库

6.版本回退操作

git reset --hard <commit> [fileName]	//回退(指定文件)版本到某次提交,工作区、暂存区的内容更改都将丢失
git reset [--mixed] <commit> [fileName]	//回退(指定文件)版本到某次提交,工作区的内容更改保存,暂存区的将丢失,即未add状态
git reset --soft <commit> [fileName]	//回退(指定文件)版本到某次提交,工作区、暂存区的内容更改保存,即未commit状态

7.文件差异对比

git diff命令,默认查看的是工作区和暂存区之间文件的差异

git diff	//查看工作区和暂存区之间所有的文件差异
git diff -- <file>	//查看具体某个文件在工作区和暂存区之间的差异
git diff -- <file1> <file2> <file3>	//查看多个文件在工作区和暂存区之间的差异

git diff HEAD	//查看工作区与最新版本库之间的所有的文件差异
git diff <commit>	//查看工作区与具体某个提交版本之间的所有的文件差异
git diff <commit> -- <file>	//查看工作区与具体某个版本之间的指定文件名的文件差异

git diff --cached	//查看暂存区和最新版本(HEAD)之间的所有文件差异
git diff --cached <commit>	//查看暂存区和指定版本之间的所有文件差异
git diff --cached -- <file1> <file2>	//查看暂存区和HEAD之间的指定文件差异
git diff --cached <commit> -- <file1> <file2>	//查看暂存区和指定版本之间的指定文件差异

git diff <commit1> <commit2>	//查看两个版本之间的差异
git diff <commit1> <commit2> -- <file1> <file2>	//查看两个版本之间的指定文件之间的差异
git diff <commit1> <commit2> --stat	//查看两个版本之间的改动的文件列表
git diff 本地分支名 远程仓库别名/远程分支名	//比较本地分支和远程分支的区别

8.查看版本历史

git log
git log --oneline	
git log -n	//显示前n条记录
git log --stat	//显示修改的文件
git show <commit>	//查看某次commit的修改内容

9.移除文件

git rm <file>	//删除暂存区和工作区中的文件
git rm -f <file>	//强制删除已修改的文件
git rm --cached <file>	//删除暂存区文件,工作区文件保留
git rm -r <dir>/*	//递归删除 某个目录/所有
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值