添加所有文件到暂存区
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
-----------------------------------------------------
参考:
Git软件下载: