前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >Git 基础命令与事件详解(基础版)

Git 基础命令与事件详解(基础版)

作者头像
我不是费圆
发布2024-05-24 19:01:30
发布2024-05-24 19:01:30
850
举报
文章被收录于专栏:鲸鱼动画鲸鱼动画

  我要出一篇 Git 总结!先讲一下大致步骤:

在这里插入图片描述
在这里插入图片描述

如果是第一次接触 git 请先克隆仓库: 1.在本地新建项目文件夹,例如在D盘根目录下D:\ md myapp cd myapp 2.从远程git上拷贝下git@开头的url后,命令行输入: git clone git@... 3.配置全局或此项目 用户名、邮箱地址: 全局配置: git config --global user.name "kaixin" git config --global user.email "21577...@qq.com" 此项目配置: git config user.name "kaixin" git config user.email "21577...@qq.com"

配置文件保存在: C:\Users\Administrator\ 中,文件名:.gitconfig

非 master 分支提交代码

1. 将自己的代码更改添加到暂存盘 git add .

2. 将暂存盘里的文件更改提交一次 git commit -m "注释"

3. 将当前分支切换到 master git checkout master

4. 查看当前分支 git branch

在这里插入图片描述
在这里插入图片描述

有 * 代表当前,如图,表示当前分支为 master 主分支

5. 拉取主分支代码 git pull

6. 将分支切换回 原来分支 git checkout + 原来分支

7. 将分支代码与主分支合并 git merge master

8. 将代码推送一次 git push

如果推送失败,可能原因是没有上游分支 git remote -v (查看是否添加了远程仓库) git remote add origin + 仓库地址 (添加远程仓库) git branch (查看本地分支) git push origin + 想要推送的分支名(配置推送分支)

master(主分支)提交代码

1.提交代码之前,需要先从服务器上面拉取代码,防止自己覆盖掉别人的代码。 git pull  如果是新项目,这一步要替换为 git init  用来初始化项目 2.查看当前工作目录树的工作修改状态 git status Untracked 此文件在本地储存库中,没有加入git 库; Modified  此文件已修改,但没有进行其它操作; Deleted   文件在本地删除,服务器没有删除; 等状态 3.将状态改变的代码提交至缓存 git add -A  将修改后未被跟踪的代码提交至缓存; git add -U  将修改后并被跟踪的代码提交至缓存。 4.将代码提交到本地仓库中 git commit -m "注释" 5.将代码推送到服务器端 git push  如果是第一次推送代码,需要配置远程分支。 git push -u origin master  检测目标分支是否存在,若不存在立即创建并推送 git push origin master  推送到指定分支  如果推送失败,可以 git remote -v 查看是否添加了远程仓库  也可以使用 git push origin -f master 进行强制推送

常用命令

git init 初始化Git仓库 git pull 拉取数据并合并(前提是本地分支已经跟踪远程分支) git status 查看当前仓库文件状态 git add. 添加文件到暂存区 git commit -m "本次提交备注" 提交暂存区的文件到本地仓库 git push <remote> <branch> 推送指定的分支到指定的仓库 git push 把本地仓库的文件推送到远程仓库 git fetch 拉取数据(并不会合并到本地) gti fetch 仓库名 拉取指定仓库的数据 git remote add pb https://github.com/paulboone/ticgit 添加远程仓库(git remote add 名称 远程仓库地址) git clone https://github.com/paulboone/ticgit 克隆远程仓库到本地(默认名称为origin 分支名为master) git remote 查看对应的远程仓库 git remote -v 查看对应的远程仓库及URL git remote add origin [url] 添加名称为origin 的远程仓库 git remote rm origin 删除名称为origin 的仓库 git remote set-url origin [url] 修改origin 仓库的远程地址 git remote show origin 查看远程仓库的详细信息 git remote rename old new 更改仓库名为old的名称为new

更新一次远程分支

git fetch --prune 更新 git branch -r 查看

git 如何修改最近一次的commit信息

git commit --amend 进入vim操作界面之后, 点击字母键 i 然后进入INSERT模式,然后对commit信息进行修改。修改完毕以后按下 ESC,敲击回车,输入 :wq 退出 然后执行 git log 会发现最近的一次commit信息被修改成功了

修改远程仓库地址

git remote set-url origin <new url> 修改名称为origin的仓库的地址。

让本地的分支跟踪远程分支

在此之前需指定分支push之后才能跟踪 先用git push -u origin master这种方式指定上游分支并提交一次后, 才能使用: git branch --set-upstream-to=origin/master master命令, git branch --set-upstream-to= 远程分支 本地分支。 示例:git branch --set-upstream-to=origin/local local 或者是:git branch -u origin/local 当前分支跟踪origin/local分支

分支

git branch testing 创建一个testing的分支 git checkout testing 切换到testing分支 git checkout -b <newbranchname> 创建分支的同时并切换到该分支 git merge <branchname> 将branchname分支与当前分支合并 git branch 查看现存分支 git branch -v 查看现存分支并显示最后一次提交 git branch --merged 查看哪些分支已经合并到当前分支 git branch --no-merged 与上相反 git branch -d <branchname> 删除分支 git branch -D <branchname> 强制删除分支(用于删除还未合并的分支)

远程分支

git branch -r 查看远程分支 git branch -a 查看所有分支(本地+远程) git push origin --delete <branch> 删除远程分支

查看本地分支和远程分支的对应情况

git branch -vv

隐藏并存储改动文件

git stash隐藏并存储改动的所有文件,chekcout <branch>时可优先使用, 命令后加save ‘commit’ 添加备注,方便查找 git stash list 显示stash列表 git stash show 显示存储了哪些改动,默认是第一个,如指定显示,后面加stash@{num},例:git stash show stash@{1} git stash show -p 显示改动的文件详细信息,默认是第一个,如指定显示,后面加stash@{num}, 例:git stash show stash@{1} -p git stash drop 删除存储,默认删除第一个, 可加stash@{$num}删除指定存储 git stash clear 删除所有缓存的stash git stash apply 应用存储到git仓库,默认应用第一个,此操作不删除stash列表,应用指定存储同上 git stash pop 应用存储到git仓库并在列表删除该存储,默认应用第一个,应用指定存储同上

注: git stash只会存储在git版本控制器中的文件,如果是新增文件需先add到暂存区

常见问题小节!

1.误将代码提交到缓存中, 利用 git reset 撤回缓存中的代码。 2.误将代码提交到本地仓库中, git reset -soft 版本号 回退到某个版本,只回退了commit 信息,不会改变已修改的代码; git reset -hard 版本号 彻底回退到某一个版本,本地的代码也会改变为上一个版本内容。 3.git commit 提交时报错:husky>pre-commit(node...)... 分析:项目中使用了husky模块,它会在你提交的时候先执行严格模式,对代码进行检查,有error就会终止提交,这个操控严格模式的文件在 .git 文件夹下的 hooks 文件夹下,它叫 pre-commit 你可千万不要删掉它,否则你会遇到另一个复杂的多的问题,网上还没有人能把这个问题解决,我们不要动它,慢慢退回去,在git目录下输入: git commit -m "注释" --no -verify 这条命令能让你 “先斩后奏,皇权特许!这就是西厂,够不够清楚” 4.git push 推送时卡住,检查网络原因,可能是网络较差,连接不到远程服务器。

在这里插入图片描述
在这里插入图片描述

5.git pull 本地出现冲突   1)git stash //将代码先暂存到本地   2)git pull //将gitlab的工程拉下来   3)git stash pop //还原暂存的内容,并且解决冲突 6.git pull 报错 refusing to merge unrelated histories 如我在Github新建一个仓库,写了License,然后把本地一个写了很久仓库上传。这时会发现 github 的仓库和本地的没有一个共同的 commit 所以 git 不让提交,认为是写错了 origin ,如果开发者确定是这个 origin 就可以使用 --allow-unrelated-histories 告诉 git 自己确定 git pull origin master --allow-unrelated-histories

呕心沥血,往后会不断完善,请给一个免费的小❤❤,转载要注明出处哦! “我仍认为我们接受高等教育的目的是帮助我们的家乡摆脱贫困,而不是摆脱我们贫困的家乡。生如蝼蚁当有鸿鹄之志,为天地立心,为生民立命,为往圣继绝学,为万世开太平。”

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-05-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 非 master 分支提交代码
    • master(主分支)提交代码
  • 常用命令
    • 更新一次远程分支
    • git 如何修改最近一次的commit信息
    • 修改远程仓库地址
    • 让本地的分支跟踪远程分支
      • 分支
    • 常见问题小节!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档