赞
踩
目录
A.初始化项目: 若无 package.json 将创建新项目并生成 package.json
B.安装依赖: 若有 package.json 文件,读取并安装项目所需的所有依赖项
git pull -r origin master拉取远程分支并与本地分支合并
1.创建并切换git checkout -b feature-yourname-0.1.1
2.推送到远程git push origin feature-yourname-0.1.1
3.关联分支git push --set-upstream origin feature-yourname-0.1.1
1.git config --global user.name "Your Name"
2.git config --global user.email "youremail@domain.com"
1.5?git pull --rebase origin master
3.5?git stash、git pull --rebase、git stash pop解决冲突
4.0.0git status查看修改哪些了文件【命令详解可见下文】
已暂存的修改 (Changes to be committed)
未暂存的修改 (Changes not staged for commit)
4.0.1git restore --staged package-lock.json撤销缓存
4.0.1git restore src/components/markdown.tsx撤销修改
4.1git add . 将所有增删改【new、delete、modified】的文件添加到缓存区等待提交
4.1git add -u:删改【delete、modified】
git remote -v 和git remote查看远程仓库
已暂存的修改 (Changes to be committed):准备提交
未暂存的修改 (Changes not staged for commit):
未追踪的文件 (Untracked files):未加入过远程的新文件
git diff -- src/components/ListChart.tsx查看某个文件
git add . :增删改【new、delete、modified】
git add -u:删改【delete、modified】
git reset --mixed(撤销 commit 和 add 两个动作)
git reset --hard(撤销并舍弃版本号之后的提交记录)
git branch -r查看远程仓库分支(r,remote)
git checkout -b 分支名称:创建并切换到该分支
解决:A.同步 git pull origin feature-yourname-0.1.1
解决:B.强制 git push origin -f feature-yourname-0.1.1
git clone…redirect: https://gitlab.../sign_in
工作树是你当前正在工作的目录,其中包含你的项目文件。
这是你对文件进行修改、创建新文件或删除文件的地方。
Working Tree 中的文件可以处于三种状态:已跟踪(tracked)、未跟踪(untracked)、修改过的但尚未暂存的。
是一个临时存储区域,用于准备提交到版本库的更改。
当你修改了工作树中的文件后,你需要将这些更改暂存到 Index,这是通过 git add
命令完成的。
stage 或 index。一般存放在 .git 目录下的 index 文件(.git/index)中
位于自己的电脑上,通过 git commit
提交暂存区的内容,会进入本地仓库。
用来托管代码的服务器,远程仓库的内容能够被分布在多个地点的处于协作关系的本地仓库修改,本地仓库修改完代码后通过 git push
命令同步代码到远程仓库。
下载 Git 下载地址 ,选择自己系统对应的版本下载即可。
三种常见的 Mac 安装 git 工具的方法_mac安装git-CSDN博客
git --version
如果本子上已经安装了 git 工具,会输出类似下面的版本信息:
git version 2.24.3 (Apple Git-128)
但是,如果本子上没有,系统可能会给出如下提示信息:
使用你本地的私钥和远程仓库的公钥进行验证是否是一对秘钥
win环境下SSH key 配置_windows ssh key_nandao158的博客-CSDN博客
linxu,mac环境下需要命令生成ssh key
PowerShell |
在你的电脑上生成 ssh 秘钥,打开终端,执行 ssh-keygen -t rsa -C "你公司内部邮箱地址",可以遇见输入一直enter
ssh-keygen -t rsa -C 邮箱
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/.ssh/id_rsa):
键入enter,使用默认地址
Created directory '/Users/.ssh'.
Enter passphrase (empty for no passphrase):
键入enter,不使用密码
执行成功,会出现一个字符图
切换到 ~/.ssh
目录下
cd ~/.ssh
查看目录
ls -l
ls
打开id_rsa.pub
文件并查看其内容,复制 id_rsa.pub
的内容。
cat ~/.ssh/id_rsa.pub
把你的公钥放到Github 上进行托管,一般在头像的设置里添加ssh key
Github :进入 settings -> SSH and GPG keys
,点击 add ssh key
,将刚才复制的内容粘贴进去
a.命令行方式
PowerShell |
b.vs图形界面方式
package.json
将创建新项目并生成 package.json
#初始化一个新的
package.json
yarn init
#安装依赖,yarn= yarn install 的简写
yarn
package.json
文件,读取并安装项目所需的所有依赖项注意是 package.json,而不是
package-lock.json
#安装依赖
yarn
tips:
package.json
:依赖关系的配置文件
package-lock.json
:实际安装依赖版本的锁定文件,以确保在不同环境中的一致性
如果安装错了,可以删除重安
rm -rf node_modules
rm -rf
命令是递归地强制删除目录,不会将文件移动到垃圾桶或回收站,而是直接从文件系统中删除。
创建-b并切换checkout
创建(-b(branch))并切换(checkout)到 feature-name-0.1.1 分支
git checkout -b feature-yourname-0.1.1
查看所有分支
git branch -a
就是远程仓库也建立了该分支,而不仅仅是本地
将本地分支推送到远程origin
git push origin feature-yourname-0.1.1
只是设置push分支,并不会真的push上去
--set-upstream 或 -u 参数将本地分支与远程分支进行关联,使得以后的 git push 命令可以自动将提交推送到远程上游分支,无需再指定远程分支的名称。
git push --set-upstream origin feature-yourname-0.1.1
首次commit会提示配置
作用:在每个Git项目,每次git操作时,避免每次都手动输入用户名和邮箱
PowerShell 若提交后提示需要设置邮箱和用户名 本地git的作者信息配置 git config --list
git config --global core.autocrlf false git config --global core.safecrlf true #通常情况下这个设置建议开启,否则diff 不同版本时,会记录不同换行符 查看是否配置成功 或者
|
查看当前仓库的版本号(第一个是当前仓库的版本号,第二个是最近提交的版本号)
根据版本号是否一致,来看是否要git pull --rebase(拉取最新代码)
- 'use client'
-
- import React from 'react';
- import { useTranslation } from 'react-i18next';
- import { getFeatures } from './staticData';
-
-
-
-
-
-
- export default function HomeContent() {
- const { t, i18n } = useTranslation(['home', 'login']);
- const features = getFeatures(['zh', 'zh-CN', 'cn'].includes(i18n.language) ? 'cn' : 'en')
修改点击蓝条
格式化代码(新建 可全部格式化,修改 只格式化 修改的:保证对比时没有格式化的修改)
git pull --rebase(拉取最新代码,注意是否拉取完成,否则修改就是在临时分支)
重启正在运行的程序(命令行中ctrl+c终止运行)
➕进行staged=git add .
将需要的change,点➕进行staged,不用discard
例如yarn.lock不需要
(Yarn 工具自动生成和维护的文件,用于确保在项目中使用相同的依赖版本。它记录了每个安装的软件包的确切版本,以及它们的依赖关系树)
快速跳转查看不同:cmd/ctrl+点击
等红框中的文件
zsh: no matches found: files
在类 Unix 的 shell(包括 Zsh)中,方括号通常用于模式匹配(globbing),导致 shell 尝试将该模式与已存在的文件或目录进行匹配。
要解决这个问题,你可以通过转义方括号或使用引号来防止 shell 将其解释为模式。
转义方括号:git restore --staged src/app/studio/
/edit.tsxid 使用引号:git restore --staged "src/app/studio/[id]/edit.tsx"
. 表示要添加所有修改的文件。如果只需要添加特定的文件,则可以用文件名来代替点 .
git fetch 查看远程仓库更新
git fetch <remote>将远程仓库的最新状态下载到本地,但不会自动合并或修改你的当前分支。
git rebase origin/develop 拉取
yourname@MBxxx entity_web % git commit
[feature-wrq-0.0.1 xxxx] feature:login page,home page,entity list
Committer: yourname <yourname@MBP-2xxx.local>
Your name and email address were configured automatically based
on your username and hostname. Please check that they are accurate.
You can suppress this message by setting them explicitly. Run the
following command and follow the instructions in your editor to edit
your configuration file:
git config --global --edit
After doing this, you may fix the identity used for this commit with:
git commit --amend --reset-author
5 files changed, 31 insertions(+), 28 deletions(-)
推送到远程仓库,打开网址查看diff
git add -i
git remote -v
和git remote查看远程仓库
git remote -v
命令来查看所有远程仓库的详细信息,包括它们的名称
git remote 只查看
它们的名称
origin
: 这是远程仓库的默认名称master:为上线/最新主分支
git pull=
git fetch+
git merge
git merge
:新增一个merge commit,然后将两个分支的历史联系起来
当需要保留详细的合并信息的时候建议使用,特别是需要将分支合并进入master
分支时
git rebase
:反映差异内容
当发现自己修改某个功能时,频繁进行了git commit
提交时,发现其实过多的提交信息没有必要时使用,分支多,内容多时也可以考虑使用
建议在运行此命令之前,应该首先备份代码或创建一个新的分支来进行实验和测试。
(拉取最新代码,注意是否拉取完成,否则修改就是在临时分支
vs左下角可常看当前分支)
Git commit是将更改保存到本地代码库中的命令,
Git push是将更改从本地代码库同步到远程代码库的命令。
stash栈(先进后出)
可以在另一个时间点上利用这些更改。 执行完 git stash 命令后,在执行 git pull 完成后,可以通过执行git stash pop 来恢复之前存档的改动。
保存的时间是没有限制的,只要不手动删除 stash 列表中的储藏内容,就会一直保存下去。
使用 git stash 时,会在本地存储库中创建一个储藏列表(stash list)。
每个储藏条目都包含一组更改集(change set):暂存区改动和工作目录改动。
默认情况下,Git 会为每个储藏条目自动生成一个唯一的名字,根据时间戳创建。
stash@{N}: WIP on <branch_name>: <commit_message>
stash@{N}
:表示该 stash 的索引号。N 是一个从 0 开始的整数,表示该 stash 在 stash 列表中的位置。最新保存的 stash 的索引号是 0,之前保存的 stash 索引号逐渐递增。WIP on <branch_name>
:表示该 stash 是在哪个分支上保存的工作副本。<branch_name>
是对应的分支名称。<commit_message>
:是在保存 stash 时附加的可选描述或提交消息。它可以是任意字符串,用于说明保存 stash 时的目的或内容。stash@{0}: WIP on feature-branch: Adding new feature
自定义名git stash<stash name>
查看git stash list,
恢复git stash apply,最近的一个
恢复git stash apply <stash name>,
git stash pop stash@{N}
(apply恢复,pop 恢复单且从list删除删除)
删除git stash drop and git stash drop <stash name> 等命令。
清空Git栈git stash clear
可以使用 git add
命令将其添加到暂存区,然后进行提交。
git restore
还原文件按enter可以继续查看差异,键入wq退出
git diff命令用于比较两个不同的代码版本之间的差异,
它可以用来比较
工作目录和暂存区之间的差异、
暂存区和最新提交之间的差异、
本地分支之间的差异等。
git diff比较工作目录和最新提交之间的差异。在这种情况下,命令将显示所有未添加到暂存区(Untracked files)的更改,即尚未提交的更改。
例如,可以通过以下命令比较工作目录中的文件file.txt与最新提交之间的差异:
Plaintext |
如果要比较暂存区中的更改与最新提交之间的差异,可以使用以下命令:
Plaintext |
还可以将git diff命令与其他命令一起使用,例如git diff branch1..branch2用于比较两个分支之间的差异。
按enter可以接着看下调,键入wq退出查看
commit +<hash值>
添加到 Git 仓库的缓存区(Index)以备提交
. 表示要添加所有修改的文件。如果只需要添加特定的文件,则可以用文件名来代替点 .
git commit -m "add doc"
这是 Git 中的一条命令,作用是将暂存区中的文件提交到版本库中。其中 -m 表示后面可以输入一段提交信息,用于描述本次提交的内容。
比如 git commit -m "add doc" 就表示将该次提交命名为“add doc”,提交信息用于说明本次提交添加了文档内容。
x.x.x:(大版本).(功能).(bug)
0.x.x版本代表还没发布
(1)主分支(master):第一次向 git 仓库中提交更新记录时自动产生的一个分支,有两个镜像:线上分支,开发分支
(2)开发分支(develop):作为开发的主分支,基于 master 分支创建。develop-版本
(3)功能分支(feature):作为开发具体功能的分支,基于开发分支创建。feature-yourname-版本
(4)环境分支(env):测试
env-test:
env-sandbox(沙箱分支):隔离环境,在其中运行不受信任或未知来源的代码,而不会影响到系统或应用的其他部分。
develop
develop-0.1.3
feature-yourname-0.1.1
* feature-yourname-0.1.3
remotes/origin/HEAD -> origin/develop
remotes/origin/develop
remotes/origin/develop-0.1.2
remotes/origin/develop-0.1.3
remotes/origin/feature-yourname-0.1.1
remotes/origin/feature-otherpeople
remotes/origin/master
remotes/origin/revert-87f9a77d
以 *
标记当前所在的分支
包括本地分支和远程分支
* master
develop
feature-branch
remotes/origin/master
remotes/origin/develop
remotes/origin/feature-branch
如果在切换分支前有未提交的修改,Git 会提示你这些修改可能会丢失,此时你可以保留修改、提交它们,也可以放弃它们并从其他分支 checkout 后的某个版本开始:
Plaintext |
(必须在master分支上才能合并develop分支)
(分支被合并后才允许删除)(-D 强制删除)
! [rejected] feature-yourname-0.1.1 -> feature-yourname-0.1.1 (non-fast-forward)
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g. hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
将远程分支的最新更改合并到你的本地分支上
git push origin feature-yourname-0.1.1
-f强制-force
Git会忽略本地分支与远程分支之间的历史差异,并将本地分支强制推送到远程分支,覆盖远程分支上的提交。
使用-f
选项需要谨慎,因为它会更改远程分支的提交历史,可能会导致其他开发人员的问题,特别是当多人同时使用同一个远程分支进行开发时。
只有在确信没有其他人依赖或基于旧提交历史工作的情况下,才应该使用-f
选项。确保在使用-f
选项之前,了解所有相关的风险并与团队成员协商
该错误显示GitLab重定向到登录页面,因为没有授权访问特定的Git存储库。要解决此问题,请尝试以下步骤:
Plaintext |
检查是否有权限访问 GitLab 代码库,如果没有,请联系管理员进行授权。
cat C:\Users\Your Name\.gitconfig
[user]
name = Your Name
email = youremail@domain.com
[core]
autocrlf = false
Cat.concatenate,Concatenate files and print on the standard output;意思是连接文件并显示在标准输出上。
windows
git bash鼠标右击后就有复制和粘贴选项,
Ctrl+ins 复制
Shift+ins 粘贴
(只不过将v换成了insert)
git教程
Git不要只会pull和push,试试这5条提高效率的命令 - 掘金
Windows TerminalMicrosoft Apps
用于 windows 日常命令的执行,以及各种 shell 的集成(cmd、powershell、git shell)
删除目录及其包含的文件和子目录。其中 -r 表示要递归删除目录中所有内容,包括子目录。
需要注意的是该命令会立即删除目录及其全部内容,并且不会进行确认提示。
Fork - a fast and friendly git client for Mac and Windows
git的GUI界面:最好用的GIT版本管理工具 - Fork使用说明 - 知乎
F5刷新
远程仓库clone,repository本地仓库
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。