自学内容网 自学内容网

Git学习笔记

添加所有文件到暂存区

git add . 


提交暂存区中的内容到本地仓库,"message"提交说明信息

git commit -m "message"  

git commit -m ""  


查看所有文件的状态 

git status

查看指定文件名的文件的状态 

git status [filename]

忽略要上传的文件

.gitignore
#忽略所有.txt结尾的文件
*.txt
#但是lib.txt除外
!lib.txt

忽略build/目录下的所有文件
build/

直接覆盖本地代码:

git fetch origin
git reset --hard origin/master
git fetch origin
git reset --hard origin/master

上面的2行代码,可以直接覆盖本地代码

为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置:

git config --global user.name 'YourName' 
git config --global user.email 'YourEmail@qq.com'

Gitee生成公钥:

1 生成 RSA 密钥

ssh-keygen -t rsa

2 获取 RSA 公钥内容,并配置到 SSH公钥 中,在win操作系统中,直接打开id_rsa.pub这个文件,执行上面这条命令,一般会提示放置到哪个目录,例如:/c/Users/Administrator/.ssh/id_rsa.pub。

cat ~/.ssh/id_rsa.pub

查看配置:

git config --global --list

单独检查配置:

git config --global user.name
git config --global user.email

查看历史版:

git log

限制显示次数:

git log -n [number]
git log -n 3

查看特定文件的历史:

git log <file>

简化输出:

git log --oneline

查看合并:

git log --merges

查看某人提交的历史:

git log --author="Author Name"

查看两个版本之间的差异:

git log <commit-ish>..<commit-ish>

显示两个提交之间的差异,其中<commit-ish>可以是分支名、标签或哈希值。

使用图形化工具查看历史:

gitk
git gui log

如果你想查看最后一次提交的信息,可以使用:

git log -1

如果你想查看master分支上最近10次的提交记录,可以使用:

git log master -n 10

要查看你当前所在分支的名称,可以使用以下命令:

git branch --show-current

如果你想要查看所有本地分支的列表,可以使用:

git branch

如果你想直接用远程仓库的最新文件覆盖你本地的文件,而不保留任何本地的修改,你可以使用git fetch和git reset命令的组合,或者直接使用git pull命令,但需要小心处理未提交的更改

使用git fetch + git reset:

以下是使用git fetch和git reset的步骤:

1.获取远程仓库的最新数据:

git fetch origin

这里origin是指你的远程仓库的名字,但也可以替换成你自己的远程仓库别名。
2.重置本地分支到远程分支的最新状态:

git reset --hard origin/<branch-name>

这里的<branch-name>是你当前分支对应的远程分支的名称,比如master。
这将会丢弃你本地分支上未提交的更改,所以请确保你不再需要这些更改,或者先将它们保存到一个安全的地方。

直接使用git pull:

如果你确定要放弃所有未提交的更改,并且希望直接从远程仓库拉取最新的文件,你可以使用git pull命令:

git pull origin <branch-name> --force

或简写为:

git pull origin <branch-name> -f

这里的<branch-name>同样指的是你要同步的远程分支的名称。--force或-f选项强制拉取,即使本地有未合并的更改也会覆盖。

注意事项
在使用--force或--hard选项之前,请确保你不再需要任何未提交的更改,因为这些操作会导致这些更改永久丢失。
如果你不确定是否要放弃未提交的更改,可以先使用git stash命令暂时保存更改,然后在拉取远程仓库后使用git stash pop恢复更改。
使用git status检查你当前的工作目录状态,确保你知道哪些更改会被丢弃。

示例:

直接覆盖本地代码:

假设你正在master分支上工作,而且你想放弃所有未提交的更改,并将你的master分支更新到远程master分支的最新状态,你可以这样操作:

git fetch origin
git reset --hard origin/master
git fetch origin
git reset --hard origin/master

上面的2行代码,可以直接覆盖本地代码

远程分支覆盖本地代码的操作:

git fetch origin 远程分支名称
git reset --hard origin/本地分支名称

或者直接使用git pull:

git pull origin master --force
git pull origin master -f

上面2行代码,测试不行!

Fetch远程数据:

这里的origin通常是你的远程仓库的名字,但它可能被配置为其他名字。如果不确定,可以用git remote -v命令查看。

git remote -v
git fetch origin

检查远程分支:

git branch -r

恢复到特定的远程分支或提交:

通过Checkout恢复

如果你想切换到远程的一个分支,可以使用git checkout命令。例如,如果你想切换到master分支的最新状态,可以这样做:

git checkout origin/master

这将创建一个新的临时分支,基于origin/master的状态。如果你想将这个分支作为新的本地分支保存,可以这样:

git checkout -b new_local_branch origin/master

通过Merge或Rebase恢复
如果你在本地分支上有一些工作,并希望将远程的更新合并到你的分支中,你可以选择merge或rebase。

使用merge:

git merge origin/master

这将把origin/master的更改合并到你当前的分支。

使用rebase:

git rebase origin/master

这将把你的本地更改重新放置在origin/master的顶部,可能会产生冲突,需要解决。

处理冲突(如果有的话)
如果在merge或rebase过程中遇到冲突,Git会停止并让你手动解决冲突。解决冲突后,使用git add添加解决的文件,然后继续rebase或merge。

推送更改
一旦你满意于你所做的更改,你可以将你的本地分支推送到远程仓库。注意,在推送之前,确保没有未提交的更改,或者你已经解决了所有冲突。

git push origin your_local_branch

在Git中,切换分支可以使用以下两种命令:

git checkout <branch-name>
git switch <branch-name>
使用git checkout
这是传统的命令,可以用来切换到一个已存在的分支:

git checkout <branch-name>

从Git 2.23版本开始,Git引入了git switch命令,提供了一个更直观的方式来切换分支:

从Git 2.23版本开始,Git引入了git switch命令,提供了一个更直观的方式来切换分支:

在切换分支之前,确保你的工作区是干净的,即没有未提交的更改。如果有未提交的更改,你可以选择:
提交这些更改;
使用git stash来临时存储这些更改,然后再切换分支;
或者,你也可以尝试直接切换分支,Git会询问你如何处理未提交的更改。

推送分支到远程仓库:
使用以下命令将你的新分支推送到Gitee的远程仓库中:

git push -u origin new-branch-name

这里 -u 或 --set-upstream 标志会设置远程跟踪信息,这样之后你可以直接使用 git push 或 git pull 而不需要每次都指定分支和远程仓库。

检查远程分支:

git branch -r

查看所有分支(包含本地分支和远程分支)

git branch -a

创建分支

git branch 分支名

删除分支

git branch -d 分支名

切换分支

git checkout 分支名称

git switch 分支名称

分支合并(可能会产生冲突,需要手动解决)

git merge 合并分支的名称
注意:切换分支在合并,会合并到自己所在分支

查看远程分支

git branch -r

推送并创建远程分支

git push origin 分支名字

将远程分支的内容拉回本地

git pull origin 分支名字

删除远程分支

git push origin --delete 分支名字

删除远程分支(本地分支不会被删除)

# 普通写法
git push origin -d <branch>
# 简写形式
git push origin :<branch>
在代码托管平台删除了分支,本地仓库该分支还存在,执行下面两个命令中的任意一个都可以解决:

git fetch --prune
git remote prune origin

-----------------------------------------------------

要从远程 Git 仓库中删除一个不再需要上传的文件夹,你需要先从本地仓库中删除这个文件夹,然后将这些更改推送到远程仓库。以下是具体步骤:

步骤 1: 从本地仓库中删除文件夹
首先确保你已经将所有需要保留的更改提交到仓库。
使用 rm 命令从本地仓库中删除文件夹。如果文件夹包含未被跟踪的文件,可以使用 -r 和 -f 选项来强制删除:

git rm -rf <folder-name>


步骤 2: 提交更改
提交这些更改以记录文件夹已被删除:

git commit -m "Remove unnecessary folder <folder-name>"


步骤 3: 将更改推送到远程仓库
将你的提交推送到远程仓库:

git push origin <branch-name>

这里 <branch-name> 应该替换为你要推送的分支名称(通常是 main 或 master)。

如果没有分支,直接用下面的命令:

git push

-----------------------------------------------------

参考:

9、Git的基本操作命令_哔哩哔哩_bilibili

Git 教程 | 菜鸟教程

Git 大全 - Gitee.com

Git软件下载:

https://git-scm.com/

Gitee - 基于 Git 的代码托管和研发协作平台


原文地址:https://blog.csdn.net/weixin_41422954/article/details/140624638

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!