Git代码下拉更新推送操作用法整理
部分代码需要git 下拉使用,会出现各种问题,这里整理了一份自己经常用,有效的方法,仅供参考,(自己用是有效的
)
1、首先本地安装GIT:地址:https://git-scm.com/(本地有的话,就忽略)
2、下载好之后,配置好基础环境
3、如果首次下拉代码,现在本地创建一个文件,或者直接点击你要下拉代码的文件,右键点击选择,就可以看到截图,截图展示的自己当前的目录,
下拉代码有很多种,以下这几个是经常用的,可以参考一下
然后通过以下命令操作,复制git 上面的代码:
开源代码,或者不用权限的代码,可以直接
git clone 复制的地址:(git clone <仓库URL> [本地目录名])
# 克隆到当前目录(使用仓库名作为文件夹名)
git clone https://github.com/username/repository.git# 克隆到指定目录
git clone https://github.com/username/repository.git my-project# 克隆到当前目录的指定文件夹
git clone https://github.com/username/repository.git ./
如果是ssh协议的是不一样的
SSH 协议(需要配置密钥):
git clone git@github.com:username/repository.git
还有另一种:是带token的,这个token 需要自己去申请获取,在github上我记得是可以的,仅供参考
Personal Access Token(推荐)
git clone https://token@github.com/username/repository.git
下拉成功后,就可以看到代码文件了,这时候可以通过git命令操作想要操作的,也可以结合开发工具去操作,
# 查看本地分支
git branch# 查看所有分支(包含远程)
git branch -a# 查看分支详情(最后提交信息)
git branch -v# 查看已合并到当前分支的分支
git branch --merged# 查看未合并到当前分支的分支
git branch --no-merged
# 切换到已有分支
git checkout develop
git switch develop # 新命令,更安全# 切换到上一个分支
git checkout -
git switch - # 新命令# 创建并切换到新分支
git checkout -b feature/new-feature
git switch -c feature/new-feature # 新命令# 基于远程分支创建本地分支
git checkout -b feature/remote-feature origin/feature/remote-feature
# 获取远程更新(不自动合并)
git fetch origin# 拉取并合并当前分支(常用)
git pull origin develop# 等同于
git fetch origin
git merge origin/develop# 拉取并使用变基(推荐,保持历史整洁)
git pull --rebase origin develop# 强制拉取(丢弃本地修改)
git fetch origin
git reset --hard origin/develop
# 查看本地与远程的差异
git status# 查看具体文件变更
git diff# 查看暂存区的变更
git diff --staged# 查看与远程分支的差异
git fetch origin
git log HEAD..origin/develop --oneline
# 添加所有更改到暂存区
git add .# 添加特定文件
git add src/main.py config/settings.py# 提交更改
git commit -m "feat: 添加用户登录功能"# 添加并提交(已跟踪的文件)
git commit -am "fix: 修复登录bug"# 修改上一次提交
git commit --amend
# 推送到远程同名分支
git push origin feature/new-feature# 推送到远程并建立跟踪关系
git push -u origin feature/new-feature# 强制推送(谨慎使用)
git push -f origin feature/new-feature# 删除远程分支
git push origin --delete feature/old-branch# 推送所有分支
git push --all origin
# 切换到目标分支
git checkout develop# 合并特性分支
git merge feature/new-feature# 合并时创建提交记录
git merge --no-ff feature/new-feature
很多常用操作也可以去搜索或者AI查看 在这里举例子: 我经常用到的:
develop 和master 分支
# 查看本地分支
git branch# 切换到目标分支
git checkout test
# 或者使用新命令
git switch test
# 如果 test 分支不存在,先创建并切换
git checkout -b test# 确认当前分支
git branch
# main
# * test# 查看本地提交历史
git log
# 输出:
# c123456 (HEAD -> test) 提交C: 本地修改用户界面
# b234567 提交B: 添加用户模型
# a345678 提交A: 项目初始化# 拉取远程test分支并合并
git pull origin test# 查看合并后的历史(注意版本问题,有的可以实行) 点击Q可以退出
git log --oneline --graph
git log --oneline --graph --all
git log --oneline --graph --all --decorate# 添加所有更改到暂存区
git add .
# 或者添加特定文件
git add src/main.py# 提交更改
git commit -m "feat: 添加用户登录功能"# 推送到远程同名分支
git push origin test
# 推送到远程并建立跟踪关系(第一次推送时)
git push -u origin test# 推送到当前分支跟踪的远程分支
git push
# 执行推送后,观察输出
git push origin test
# 查看本地与远程的差异
git fetch origin
git log origin/test..test --oneline
# 如果输出为空,说明推送成功,本地和远程一致
# 如果有提交显示,说明这些提交还没有推送到远程
分支合并:
# 查看所有分支状态
git branch -av# 查看 develop 分支的提交
git log develop --oneline -5# 查看 master 分支的提交
git log master --oneline -5# 检查状态
git status# 如果有未提交的更改,先处理
git stash # 或 git commit# 1. 切换到 master 分支
git checkout master
# 或
git switch master# 2. 拉取最新的 master 代码
git pull origin master# 3. 合并 develop 分支
git merge develop# 4. 推送合并结果
git push origin master
当合并的时候发现出现这些信息:可以这样子操作:这个是Git 合并时打开的编辑器界面,你需要输入合并提交信息。
,# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
~
步骤:
- 按
i
进入插入模式 - 输入:release: 合并 develop 到 master
- 按
Esc
退出插入模式 - 输入
:wq
保存并退出 - 按 Enter 确认
验证是否合并记录:
就发现可以了,如果还不可以,可以直接操作下面的:
# 1. 先退出当前编辑器
# 按 Esc,然后输入 :q! 按 Enter# 2. 重新合并并指定消息
git merge develop -m "release: 合并 develop 到 master"# 3. 推送
git push origin master