git

167 阅读4分钟

git.png

  • Workspace:工作区
  • Index:暂存区
  • Repository:本地仓库
  • Remote:远程仓库

下载

国内镜像

代码托管主要有:giteegithubgitlab

常用linux命令

// 这里的目录也可以叫文件夹
clear 清屏
reset 初始化终端/清屏
cd 目录名 切换目录
cd .. 切到上一级目录
pwd 显示当前目录所在的路径
ls(ll) 显示当前目录里的文件和文件夹(ll更详细)
cat 文件名 查看文件里的内容
touch 文件 在当前目录下创建文件
rm 文件名 删除当前目录下的文件
mkdir 文件夹名 在当前目录下创建文件夹
rm -r 文件夹名 删除当前目录下的文件夹
vim 文件名 修改文件
history 查看输入过的命令
exit 退出

配置SSH免密登录

C:\Users\liaoxianhui\.ssh 文件夹默认为空,有就删除
在该路径下cmd
ssh-keygen -t rsa
三次回车
该目录下生成2个文件,一个私玥一个公玥,如下

image.png

复制公玥里的信息到下图:在设置 -> SSH公玥

image.png

image.png

点击确定添加成功后,会发一份邮件到你的邮箱

清除本地账号

控制面板 -> 用户账户 -> 凭据管理器 -> windows凭据 或者,按下windows键,搜索凭据管理器

配置

查看配置列表

git config --list
简写git config -l

查看系统配置

git config --system -l

全局配置列表

git config --global -l

配置用户名和用户邮箱

git config --global user.name 'liaoxianhui'
git config --global user.email '1935220862@qq.com'

分支

查看本地分支

git branch

查看远程分支

git branch -r

查看本地和远程分支

git branch -a

查看本地和远程分支的关联

git branch -vv

本地分支关联远程分支

git branch --set-upstream-to=origin/分支名

新建分支

git branch 分支名

删除分支

git branch -d <branch-name> // 注意不能在当前分支删除当前分支

删除远程分支

git push origin -d 分支名

切换分支

git checkout 分支名

新建分支并切换分支

git checkout -b 分支名

拉取远程分支并创建本地分支

git checkout -b 本地分支名 origin/远程分支名

放弃工作区(修改的文件)和暂存区的所有修改

git checkout -f

合并分支

git merge 分支名 // 把指定的分支合到当前分支

重命名分支

git branch -m <oldbranch-name> <newbranch-name>

显示当前分支的版本历史

git log  // 英文下的q,退出
git log --oneline // 推荐,简洁一些

新建代码库

git init

克隆

git clone 远程仓库地址
git clone 远程仓库地址 文件夹名
git clone -b 分支名 远程仓库地址

查看状态

git status

撤销工作区的修改

git restore 文件名 // 根目录下是文件名,否则就是文件路径/文件名
git restore . // 所有文件
git checkout -- 文件名 // 根目录下是文件名,否则就是文件路径/文件名
git checkout . // 所有文件

添加到暂存区

git add .

撤销已经add(暂存区)的文件

git restore --staged 文件名 // 根目录下是文件名,否则就是文件路径/文件名
git restore --staged . // 所有文件
git reset 文件名 // 根目录下是文件名,否则就是文件路径/文件名
git reset . // 所有文件

提交暂存区到本地仓库

git commit -m ''

链接本地仓库与远端仓库

git remote add origin 远程仓库地址

查看远程仓库信息

git remote -v

提交远程仓库

git push -u origin 分支名 // 如果远程分支是空的,建议加-u
git push --set-upstream origin 分支名 // 推送并与远程分支关联

取回远程仓库的变化,并与本地分支合并

git pull
git pull origin/分支名

查看提交版本

git reflog

查看本地修改

git diff

放弃本地更改,未使用git add

git checkout -- 文件名或路径

放弃本地更改,已使用git add

git reset 46b827a 推到指定的版本
git reset HEAD 文件名或路径
git reset --hard origin/master // 将本地的状态回退到和远程的一样 
git reset –hard HEAD^ // 回退上一个版本
git reset –hard HEAD~1 // 回退上一个版本
git reset –hard HEAD~3 // 回退上上上一个版本
git reset -hard HEAD^^^ // 回退上上上一个版本

revert

回滚

git revert 16083ce // 回滚到指定版本

stash

可以理解成存放

// 存放
git stash               // 存放的add
git stash save '备注'    // 存放的备注

// 取出
git stash pop                // 取出并且删除记录
git stash apply              // 取出并且保留记录
git stash apply stash@{数字} // 取出指定的存放数据

// 查看
git stash list

// 删除所有存放记录
git stash clear

// 删除指定的存放记录
git stash drop stash@{数字}

谢谢