Git常用命令


本篇主要应前同事需要,整理工作中常用的Git操作

安装配置

下载

官网下载:Git-Downloads

生成秘钥

  1. 右击打开git bash
  2. 执行命令,按3个回车,密码为空
ssh-keygen -t rsa -C "个人邮箱地址"
  1. 在C:\Users{windows用户名}.ssh目录下找到id_rsa.pub文件
  2. 复制id_rsa.pub添加到仓库SSH秘钥配置中。

配置

  • 设置自己的姓名和邮箱
git config --global user.name "Your Name"
git config --global user.email "email@example.com"
  • 设置git仓库能正常显示中文
git config --global core.quotepath false

概念理解

  • workspace:工作区
  • staging area:暂存区/缓存区
  • local repository:本地仓库
  • remote repository:远程仓库

常用命令

初始化

新项目执行Git初始化,并进行第一次提交

git init
git add .
git commit -m "first commit"
git remote add origin 仓库地址路径
git push origin master

克隆

对github、gitlab远程仓库,已有项目进行克隆

git clone 仓库地址路径

分支

  • 查看所有分支
git branch -a
  • 切换分支
git checkout 需要切换的分支名
  • 创建新分支
git checkout -b 分支名

-b表示创建并切换分支

拉取

git pull

会从远程仓库拉取最新代码合并到当前分支

同步

add

将文件添加到仓库

  • 将工作区的某个文件添加到暂存区
git add 文件名
  • 将当前工作区的所有文件都加入暂存区
git add .

commit

将暂存区文件提交到本地仓库

  • 将暂存区内容提交到本地仓库
git commit -m "提交说明"
  • 跳过缓存区操作,直接把工作区内容提交到本地仓库
git commit -am "提交说明"

这个命令等于git add . 和git commit -m “提交说明”组合

push

将本地仓库分支推送同步到远程仓库分支

git push

状态

查看当前分支状态,可以看到修改、删除、还没提交的文件状态

git status

合并

  • 开发分支(dev)上的代码达到上线的标准后,要合并到 master 分支
git checkout dev
git pull
git checkout master
git merge dev
git push origin master
  • 当master代码有更新,需要更新开发分支(dev)上的代码
git checkout master 
git pull 
git checkout dev
git merge master 
git push origin dev

标签

到一个重要的阶段,并希望永远记住那个特别的提交快照,你可以使用 git tag 给它打上标签

  • 查看所有标签
git tag
  • 创建并推送标签
git tag v1.0 -am "release 1.0 version"
git push origin v1.0

日志

查看历史记录

  • 查看所有commit记录(SHA-A校验和,作者名称,邮箱,提交时间,提交说明)
git log
  • 查看最近多少次的提交记录
git log -p -次数
  • 让提交记录以精简的一行输出
git log --oneline
  • 图形展示分支的合并历史
git log --graph
  • 查询作者的提交记录
git log --author=作者
  • 列出提交信息中包含过滤信息的提交记录
git log --grep=过滤信息

回滚(谨慎)

可以通过 git reset 命令将代码回滚到之前某次提交的状态,但一定要将现有的代码做好备份,否则回滚之后这些变动都会消失

  • 回退成上次提交的版本
git reset HEAD^
  • 回退到指定版本

查看提交日志,回退到指定commit_id

git log
git reset --hard commit_id
  • 将本地的状态回退到和远程的一样
git reset --hard origin/master
  • 回退 xxx.java 文件的版本到上一个版本
git reset HEAD^ xxx.java

文章作者: Adbo
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Adbo !
评论
  目录