系列综述:
💞目的:本系列是个人整理为了学习git实践操作的,整理期间苛求每个知识点,平衡理解简易度与深入程度。
🥰来源:材料主要源于–个人实践–进行的,每个知识点的修正和深入主要参考各平台大佬的文章,其中也可能含有少量的个人实验自证。
🤭结语:如果有帮到你的地方,就点个赞关注一下呗,谢谢🎈🎄🌷!!!

请先收藏!!!,后续继续完善和扩充👍(●’◡’●)



😊点此到文末惊喜↩︎


一、Git的基本操作

在远程代码仓库中新建项目

前提:git已经安装,并与账号完成密钥绑定

  1. 在github上创建一个新仓库
    在这里插入图片描述
    在这里插入图片描述

在本地初始化git项目

  1. 在项目文件夹下,右击选择git bash here ,打开一个终端对话框
    在这里插入图片描述
  2. git init (在项目目录下出现隐藏的.git文件夹,目的是把该项目文件夹变成git可管理的仓库)
  3. git status (查看当前状态,多用该命令防止出错)
  4. git add . (或 git add 文件名 )将项目中的所有文件添加到仓库中
  5. git commit -m "注释" (把项目提交到仓库)

    若出现please tell me who you are…
    按提示依次执行即可,如:
    git config --global user.email “你的账号@qq.com”
    git config --global user.name “你的昵称”

  6. 将本地的仓库关联到GitHub上:git remote add origin git@xxxx
    • 优先使用ssh链接,不行再用https
    • 查看仓库中的主分支名称(一般为main)和本地的主分支(一般为master),如果不同则使用命令 git branch -m main切换本地主分支名称与远程仓库一致
    • 报错fatal: remote origin already exists.则先使用该命令删除:git remote rm origin
      在这里插入图片描述
  7. 强制把远程仓库的代码跟新到当前分支上面:git pull --rebase origin master
  8. 将本地代码推送到指定远程的仓库中: git push -u origin main

二、项目同步操作

初次拉取远程项目到本地

如果需要长期和远程进行交互的项目,最好使用拉取ssh方式,而不是http方式的项目,才能进行免密交互

  1. git clone 【项目ssh地址】:将远程项目克隆到本地
  2. cd 【项目名】:进入项目根目录
  3. 进行代码开发工作
  4. 将项目推送到远程的自动化脚本
    #!/bin/bash
    echo "请输入提交信息:"
    read message
    git add .
    git commit -m "$message"
    git push origin master
    echo "提交成功!"
    

强制同步远程项目到本地

  1. git强制和远程仓库保持一致,强制用远程仓库覆盖本地代码
     git fetch --all                //从另一个存储库下载对象和引用
     git reset --hard origin/master //放弃本地修改
     git pull                       //开始更新
    

push本地已有项目到远程

  1. 在远程代码仓库中新建一个空项目
  2. git clone 【项目ssh地址】:将远程空项目拉取到本地,默认会建立链接
  3. 将本地项目复制到本地拉取的项目目录中
  4. 将项目推送到远程的自动化脚本
    #!/bin/bash
    echo "请输入提交信息:"
    read message
    git add .
    git commit -m "$message"
    git push origin master
    echo "提交成功!"
    

如何拉取新项目后进行分支的开发和提交

  1. 要拉取 master 分支并在你的开发分支上进行 rebase
# 克隆仓库到本地
git clone <远程ssh仓库链接/https仓库链接>
# 在master分支创建新分支,并切换到该分支上
git checkout -b <your-dev-branch>
# 修改分支中的源码文件...
doing
# 查看更改状态
git status
# 将变更提交到暂存区
git add .
# 将更改持久化到git仓库,并创建一个新的提交对象
git commit -m "远程仓库指定的校验格式" 
# push到远程分支上
git push 

远程平台代码评审通过但无法合并

  1. 原因:可能master发生更改,需要更新master
# 切换到 master 分支
git checkout master
# 拉取最新的 master 分支代码
git pull
# 切换回你的开发分支
git checkout <your-dev-branch>
# 在开发分支上进行 rebase
git rebase master
# 修改分支的源代码文件
doing
# 查看更改状态
git status
# 将变更提交到暂存区
git add .
# 更改最近提交记录
git commit --amend
# 忽略分支历史记录并覆盖
git push -f origin <your-dev-branch>

将远程master更新合并到本地分支中

# 切换到 master 分支
git checkout master
# 拉取最新的 master 分支代码
git pull
# 切换回你的开发分支
git checkout <your-dev-branch>
# 将master合并到工作分支
git merge master
# 手动编辑解决冲突
doing
# 查看更改状态
git status
# 将变更提交到暂存区
git add .
# 更改最近提交记录
git commit -m "Merge master into my-feature-branch"
# 忽略分支历史记录并覆盖
git push

切换到指定分支

# 查看所有分支,* 号表示当前分支
git branch -a
# 本地创建一个指定名称的分支,并与远程的origin/远程开发分支关联
git checkout -b <本地分支名称> <origin/远程开发分支>
# 查看本地分支及追踪的分支
git branch -vv
# 将当前本地分支与远程分支关联,从而可以直接进行拉取和推送
git branch --set-upstream-to=<远程分支名称>

将本地分支代码推送到远程对应分支

git pull origin dev   
git push origin dev_llamafactory_wangs516:dev

基于最新的指定远程分支创建本地分支

  1. 查看所有分支名称:git branch -r
  2. 拉取并合并指定远程分支代码到本地
    • git pull origin [远程分支名]
  3. 创建并切换到新的本地分支,同时关联到指定的远程分支
    • git checkout -b local/[本地分支名称] origin/[远程分支名称]
  4. 查看是否正常
    • git status

将本地分支合并到目标分支并提交

# 1.切换到本地目标分支并更新
git switch 【本地的目标分支】
git pull 
# 2. 合并本地其他分支
git merge 【本地要合并的分支,可用git branch -a查看】
# 3. 提交到远程目标分支
git add .
git commit -m "xxx"
git push 


二、Git的使用

回退git版本

  1. 查看版本信息:git log,然后按q退出
  2. 版本回滚
    • git reset --hard <commit-hash> :回滚到指定版本,并且不保留该版本之后的提交历史
    • git checkout <commit-hash>:会切换到指定版本,但是不会改变提交历史

git commit信息

  1. 项目是否能运行,这是一个重要的点

三、其他

VS2022git如何推送

  1. 先提交后推送
    • 只提交只是在本地更改
    • 只同步只是远程和本地进行比较,如果相同则不进行推送
      在这里插入图片描述

🚩点此跳转到首行↩︎

参考博客

  1. git的使用
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐