【前端笔记】git的使用

介绍

  • 远端(远程仓库):拉取代码时的源仓库,一般本地仓库代码要和远端同步,保持一致
  • 本地仓库:本地开发完使用git commit命令会将代码提交到本地仓库
  • 暂存区:本地开发时使用git add命令会将代码提交到暂存区
  • 工作区:本地开发时修改代码的文件

起步

1、配置账号
// 用户名
git config --global user.name <name>
// 邮箱
git config --global user.email <email>
2、配置ssh
// 1、生成ssh公钥
ssh-keygen -t rsa
// 2、复制到粘贴板
cat ~/.ssh/id_rsa.pub | clip    # Windows
cat ~/.ssh/id_rsa.pub | pbcopy  # MacOS
// 3、在github/gitee/公司私有代码库中添加配置并将复制的ssh公钥粘贴进去
3、使用git管理项目

在项目根目录使用git init进行初始化

常用命令

  • 1、克隆代码库到本地:git clone
  • 2、更新本地代码:git pull,等同于 git fetch + git merge

git pullgit fetch 的效果都是本地代码同步远端更改,区别是:

  • git pull 拉取远端最新代码后会自动将新代码合入到本地仓库
  • git fetch 拉取远端最新代码后不会自动合入,要合入需要手动使用 git merge
  • 3、本地做了修改后,将修改提交到暂存区:git add

git add [file1] [file2]:提交单个或多个文件变更
git add .:提交所有文件
git add -u:只提交变更文件,不提交新增文件

  • 4、将暂存区的文件提交到本地仓库:git commit -m "msg"
  • 5、查看当前分支的变更:git status
  • 6、提交代码到远端:git push origin <branch>
  • 7、如果代码无法提交到远端,查看当前本地关联的远程仓库:git remote -v
  • 8、如果当前没有关联远程仓库,关联远程仓库:git add remote origin <代码库>
  • 9、大部分开发模式是分支开发分支发布,发布完成分支合回主干,这时就不应该将代码直接推到master
// 1、查看当前代码库的所有分支,包括本地和远端
git branch -a
// 2、本地有分支直接切换过去
git checkout <branch>
// 3、本地没有分支创建并切换过去
git checkout -b <branch>
  • 10、分支切换过去,想要同步之前其他分支的更改
// 1、多条变更,直接merge目标分支
git merge <branch>
// 2、单条变更
// 先切换到目标分支,查看提交记录
git checkout <branch>
git log // 查看提交历史
// 3、找到对应commitID复制,切换到要提交到的分支
git cherry-pick <commitID>
  • 11、解决冲突(重点): git reset

多人协作中最重要的是解决冲突,主要是2个命令git reset --hardgit reset --soft

  • git reset [--mixed]:默认,用于重置暂存区的文件与上一次的提交(commit)保持一致,工作区文件内容保持不变。
  • git reset --hard:撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交
  • git reset --soft:回退到某个版本

git reset [--hard|--soft]的参数:

  • HEAD^:回退到上一个版本
  • HEAD~n:回退到前N个版本
  • commitID:回退到指定commitID的版本

2022-12-26更新

今天遇到个源码交付的场景,使用到了一个命令,可能比较小众,记录一下

  • 1、查看当前代码库关联远程仓库的情况:git remote -v
  • 2、取消远程关联:git remote rm <远端名称>
  • 3、删除项目.git文件:rm -rf .git

猜你喜欢

转载自blog.csdn.net/qq_43398736/article/details/127906711