经常忘记git的指令,以下总结了git的常用指令
查看配置
git config --list
创建本地仓库
git init
配置用户名
git config --global user.name "your name"
配置邮箱
git config --global user.email "your_email@youremail.com"
获取本地主机公钥
ssh-keygen -t rsa -C "your_email@youremail.com"
//进入bash输入命令,双引号里面填常用邮箱。还有enter enter enter代表执行。然后到C:Users用户.ssh找到.pub的文件添加文件到暂存区
git add <name>|./
删除文件跟踪状态
git rm <name> --cached
查看git跟踪文件状态
git status
git提交文件
git commit -m 描述
删除已经提交未修改的文件
git rm <name> [-f]
拉取最近一次提交到版本库的文件到暂存区,该操作不影响工作区
git reset HEAD -- <file>
回退指定commit状态
git reset --hard commit_id
回退指定上上个commit状态
git reset --hard HEAD~1
查看本地分支
git branch
查看远程分支
git branch -r
查看所有分支
git branch -a
创建分支
git branch <branch-name>
创建并切换分支
git checkout -b <branch-name>
切换分支
git checkout -b <branch-name>
删除本地分支
git branch -d <branch-name>
删除远程分支
git push origin --delete <branch-name>
未合并强制删除分支
git branch -D <branch-name>
合并分支(位于当前分支合并其他分支)
git merge <outer-branch>
本地分支重命名(还没有推送到远程)
a.重命名远程分支对应的本地分支 git branch -m oldBranchName newBranchName
b.将新命名的本地分支推送到远程 git push origin newBranchName
c.删除远程分支 git push --delete origin oldBranchName
本地分支关联远程分支 git branch --set-upstream-to=origin/remote_branch your_branch
关联远程分支
- 已经有远程分支,没关联
git push --set-upstream origin mall-cms
简写git push -u origin/remote_branch
- 没有远程分支,新建远程分支并关联
git push origin local_branch:remote_branch
其中,origin/remote_branch是你本地分支对应的远程分支;your_branch是你当前的本地分支。
在Git中重命名远程分支,其实就是先删除远程分支,然后重命名本地分支,再重新提交一个远程分支。
克隆远程仓库到本地
git clone git@url
克隆远程指定分支到本地
git clone -b 分支名 仓库地址
添加origin的远程地址
git remote add origin git@github.com:你的github用户名/仓库名.git
查看远程链接:
git remote -v
删除远程地址
git remote rm origin
推送masterf分支到远程仓库
git push -u origin master [-f]
推送本地分支到远程,不同名字
git push origin localBranch:originBranch
git push -u origin master
上面命令将本地的master分支推送到origin主机;加-u
,指定origin为默认主机,后面就可以不加任何参数使用git push了
推送简写 git push
强制推送到远程仓库(更新到原创仓库) git push -u origin master --force
提交自动创建master分支
- 不带任何参数的git push,默认只推送当前分支,这叫做simple方式。此外,还有一种matching方式,会推送所有有对应的远程分支的本地分支。Git 2.0版本之前,默认采用matching方法,现在改为默认采用simple方式。
拉取简写 git pull
合并远程仓库(更新本地仓库) git pull [--rebase] origin master
强制拉取远程分支合并于本地分支 git pull origin master --allow-unrelated-histories
git pull
- git fetch 拉取远端最新数据
- git merge FETCH_HEAD 新开分支然后提交
git pull --rebase
- git fetch
- git rebase FETCH_HEAD //在当前分支上提交
仅仅是使用rebase
代替了合并