Git各种BUG

标签(空格分隔): Git

git 简单文件操作

第一步进入项目目录下进行git初始化(可以看到文件夹中生成了.git目录)

git init

第二步添加远程仓库

git remote add origin <仓库地址>

第三步添加提交的所有文件

git add .

第四步提交代码

git commit -m ‘我是注释我要提交代码了’

第五步推送至仓库

git push -u origin master -f

git无脑操作

对于超级小白,只会三种命令的小白

  1. 在github上面创建一个仓库,公共仓库,新建README文件。
  2. 在桌面新建文件夹,把仓库克隆下来
  3. 随便在里面写一下TXT文件,然后进行下面三个命令进行测试
  4. git add .
  5. git commit -m 'tijiao'
  6. git push
  7. 第4条和第五条可以融合成一条命令:git -am -m '提交'

git fetch

git fetch 是 Git 中用于从远程仓库获取最新代码的命令,但它不会自动合并或修改你的工作目录。

具体来说,git fetch 会将远程仓库的最新代码下载到本地,但不会自动合并到你的当前工作分支。这使你能够查看远程仓库的变化,然后决定是否将这些变化合并到你的本地分支。

基本用法如下:

git fetch origin

这会将远程仓库(通常是名为 origin 的默认远程仓库)的最新代码下载到本地。你可以通过以下方式查看远程分支:

git branch -r

如果想要将远程分支的更新合并到本地分支,你可以使用 git pull 命令,它实际上是 git fetchgit merge 的组合。例如:

git pull origin master

这将从远程的 origin 仓库的 master 分支拉取最新代码,并将其合并到你当前所在的分支。

总体来说,git fetch 是一个用于获取远程仓库最新代码的安全操作,因为它不会直接修改你的本地分支,而是让你有机会查看变化并决定如何处理。

git rebase

git rebase 是 Git 中用于将一系列提交合并成一个提交,或者将一系列提交应用到另一个分支上的命令。它的主要作用是修改提交历史,使得项目的提交历史更加整洁、线性。

基本的 git rebase 语法为:

git rebase target_branch

其中,target_branch 是你想要将当前分支(通常是 feature 分支)变基到的目标分支。下面是一些 git rebase 的常见用法:

1. 将当前分支变基到目标分支

# 切换到目标分支
git checkout target_branch

# 拉取目标分支最新代码
git pull origin target_branch

# 切回原来的分支
git checkout your_feature_branch

# 执行 rebase 操作
git rebase target_branch

2. 修改提交历史

在进行 rebase 操作时,Git 会逐个应用提交,如果发生冲突,你需要解决冲突并继续 rebase 操作。

# 解决冲突后,继续 rebase
git rebase --continue

3. 中止 rebase 操作

如果在 rebase 过程中遇到问题,可以中止 rebase 操作。

git rebase --abort

4. 强制推送

由于 rebase 会改写提交历史,因此如果要将变基后的分支推送到远程仓库,可能需要使用强制推送。

git push origin your_feature_branch --force

注意事项:

  • 慎用 rebase: 当在公共分支上工作时,慎用 rebase,因为它会改写提交历史,可能影响到其他人。
  • 不要在已经推送到远程仓库的分支上进行 rebase: 如果你已经推送了分支,并且其他人也在该分支上工作,不要执行 rebase 操作,因为它会改写提交历史。
  • 协作: 在进行 rebase 操作前,最好与团队成员进行沟通,确保你的操作不会对其他人造成影响。

git tag

在 Git 中,git tag 用于创建、列举或删除标签。标签是一个静态的引用,通常用于标记某个特定的提交,以便于在项目中快速找到或回溯到重要的版本、里程碑或发布点。

以下是一些常见的 git tag 命令用法:

1. 创建标签

创建轻量标签:

git tag tag_name

创建附注标签:

git tag -a tag_name -m "Tag message"

2. 列举标签

列举所有标签:

git tag

3. 查看标签信息

查看某个标签的详细信息:

git show tag_name

4. 删除标签

删除本地标签:

git tag -d tag_name

删除远程仓库上的标签:

git push origin --delete tag_name

5. 推送标签到远程仓库

推送本地所有标签到远程仓库:

git push origin --tags

推送某个特定标签到远程仓库:

git push origin tag_name

6. 切换到标签

切换到某个标签创建一个新分支:

git checkout -b new_branch_name tag_name

注意事项:

  • 标签默认只会在本地创建。如果需要将标签推送到远程仓库,需要显式地使用 git push
  • 创建标签时,可以添加 -s 参数用于签名标签,提高标签的可信度。
  • 在实际项目中,通常会使用标签来标记软件版本发布点或者重要的里程碑。

警告

warning: adding embedded git repository: git/...

当前目录下面有.git文件夹------默认是隐藏的,直接将.git文件夹掉,再重新git add .

则不再有报警提示,按正常的上传步骤上传代码即可。