git 基本操作

git 文档

初始化

初始化git项目

 $ mkdir dome  
 $ cd dome
 $ git init 

git配置

设置git用户名 邮箱

 $ git config user.name xxxxx 
 $ git config user.email 22286654@qq.com

git 文件操作

1、添加文件到缓存区 ( . 或 * 代表全部)

 $ git add lianxi.txt 
 $ git add .
 $ git add *

2、将 git add 暂存的文件 提交到本机git仓库

 $ git commit -m "提交说明"

3、重写上次提交消息

 $ git commit -v --amend 

4、查看当前git提交状态

 $ git status

5、git 版本 退回

 $ git reset --hard  // 将所有内容恢复到最后一次提交
 $ git reset --hard Head~0   //回退到上次提交的版本 
 $ git reset --hard [版本号]  //回退指定版本

6、git 状态 退回

git reset HEAD [文件或文件目录]  // 将文件从缓存区退回到编辑区
git checkout -- [文件或文件目录] // 将文件退回到没有修改前
git restore [文件或文件目录]     // 将文件退回到没有修改前

7、更改现有文件路径并暂存移动

 $ git mv [existing-path] [new-path]

8、从项目中删除文件并暂存删除以进行提交

 $ git rm [file]

git rebsae

合并分支

// 合并分支dev
$ git rebase dev
// 如果有冲突,解决冲突后 继续操作
$ git rebase --continue

修改指定提交记录

// 修改指定提交记录
 $ git rebase -i <commit> 
 $ git rebase -i HEAD~2 // 修改后两条修改记录

// 修改最近的一条提交记录
 $ git commit --amend

// 最后,指定--continue选项以继续执行rebase
 $ git rebase --continue

取消rebase操作

// 当在rebase操作,指定--abort选项以取消 rebase操作
$ git rebase --abort

git 分支

查看当前分支

$ git branch 
$ git branch -vv // 列出所有分支及其上游

创建分支 ( git 默认 有一个 master 分支 )

$ git branch dev // 创建一个dev分支
$ git checkout 12345678 -b newBranch //当前分支的某个commit id = 12345678,我们可以基于这个id创建本地分支

切换分支

$ git checkout dev // 切换到dev分支
$ git checkout -   // 快速切换到上一个分支

“ git checkout”命令是切换分支的另一种方式,但它可能会有一些缺点。首先,“ git checkout”可能导致丢失未提交的更改。 其次,如果开发人员要创建新分支,则必须使用“ git branch”命令,这可能会耗费时间。 “Git switch”可以通过允许开发人员更有效地在分支之间切换来解决这些问题。

$ git switch dev // 切换到dev分支
$ git switch -c <新分支名字>   // 快速生成新分支并切换分支 

分支重命名

$ git branch -m new_name // 将当前分支重命名为 new_name

推送和重置

$ git push origin -u <new_name>

合并分支

$ git merge dev  // 把当前分支与dev分支合并

删除分支

$ git branch -d dev  // 删除dev分支

删除远程分支

$ git push origin --delete <old>

git Tag 标签

查看本地标签

$ git tag
$ git tag -l "v3.3.*" // 加上-l命令可以使用通配符来过滤tag

查看远程标签

$ git ls-remote --tags
$ git ls-remote --tag 

给分支打标签

$ git tag <标签名>
$ git tag -a <标签名> -m "标签说明"
$ git tag v1.0.0 039bf8b -m "标签说明" // 给指定版本添加标签

查看指定Tag的详细信息

$ git show <标签名>

删除标签

$ git tag -d <标签名>
删除标签
$ git tag -d <标签名>
删除本地Tag后,再重新Push到远程的代码仓库
$ git push origin :refs/tags/<标签名>

推送Tag到远程

$ git push origin <标签名>
$ git push origin --tags //推送所有本地的tag

git 远程

上传远程仓库

$ git push <远程仓库网址> master  //把分支内容上传到远程的master分支上
$ git push <远程仓库别名> master

远程仓库别名操作

$ git remote add xx <远程仓库网址> // 将远程仓库添加到本地仓库里(注意: xx为你的仓库别名,不能与已有仓库重名)
$ git remote set-url xx <仓库地址>  //修改仓库对应远程仓库地址
$ git remote rename xx  aa  // 把远程仓库别名为xx的改为 aa
$ git remote remove aa // 将远程仓库别名为aa的在本地删除
$ git remote -v // 查看远程仓库别名对应远程仓库的地址

下载远程仓库

$ git fetch <远程仓库网址> master //把远程的master分支下载到本地
$ git pull <远程仓库网址> master  //把远程的master分支下载到本地仓库并与当前的分支合并 (pull 相当于 先fetch 再merge )
$ git clone <网址>  //将远程仓库下载下来(注意:多次执行会覆盖本地内容)

*** 注意:在本地提交前先pull 再push ***


git 记录日志

查看日志

$ git reflog  // 查看所有提交的版本号
$ git log     // 查看历史日志 
$ git log --oneline    // 查看简洁版日志
$ git log -p <file_name> // 显示特定文件随时间的变化
$ git log --stat -M  // 显示所有提交日志,并指出任何移动的路径
$ git log branchB..branchA // 显示 branchA 上不在 branchB 上的提交
$ git diff branchB...branchA // 显示 branchA 中不在 branchB 中的内容的差异

posted @ 2023-07-10 10:59  到此灬一游丿  阅读(13)  评论(0编辑  收藏  举报