git 远程仓库

获取远程分支

git init

git remote add origin https://github.com/sjip008/testbk.git

git fetch origin

git checkout -b works origin/works

提交到远程分支
git push origin works

Git强制覆盖master分支
一、操作步骤

1.1 git push origin develop:master -f
把本地的 develop 分支强制(-f)推送到远程 master
但是上面操作,本地的 master 分支还是旧的,通常来说应该在本地做好修改再去 push 到远端,所以我推荐如下操作

1.2 git checkout master
切换到旧的分支

1.3 git reset --hard develop
将本地的旧分支 master 重置成 develop

1.4 git push origin master --force
再推送到远程仓库

在Git中,根据你的不同操作,有不同的恢复方式(gpt4):

  1. 文件修改后未使用git add,怎么恢复

如果你修改了文件,但还没有使用git add将其添加到暂存区,你可以使用git checkout命令来撤销工作区的修改:

git checkout -- <file>

这个命令会将工作区的修改恢复到最近一次git commitgit add的状态。

  1. 文件修改后使用了git add,怎么恢复

如果你已经使用git add将修改添加到了暂存区,但还没有进行git commit,你可以使用git reset命令来撤销暂存区的修改:

git reset HEAD <file>

这个命令会将暂存区的修改恢复到最近一次git commit的状态,但是工作区的修改不会被撤销。

  1. 文件修改后使用了git commit,怎么恢复

如果你已经使用git commit将修改提交到了版本库,你可以使用git resetgit revert命令来撤销提交:

  • 使用git reset命令:
git reset --hard <commit_id>

这个命令会将HEAD指针、暂存区和工作区都恢复到指定的<commit_id>的状态。

  • 使用git revert命令:
git revert <commit_id>

这个命令会创建一个新的提交,这个提交的内容与你要撤销的提交相反,也就是说,它会撤销你指定的那个提交。

注意:git resetgit revert的区别在于,git reset是用来撤销本地操作,而git revert是用来撤销已经推送到远程仓库的操作。

在Git中,根据你的不同操作,有不同的恢复方式(yiyan):

如果你已经修改了文件,但还没有使用 git add,你可以使用以下命令将修改的内容添加到暂存区:

git add <file_path>

其中 <file_path> 是你要添加的文件的路径。

如果你已经使用 git add 将文件添加到暂存区,但还没有使用 git commit,你可以使用以下命令取消暂存区的修改:

bash复制代码

git restore --staged <file_path>

其中 <file_path> 是你要取消暂存的文件的路径。

如果你已经使用 git commit 提交了修改,但想要恢复到之前的版本,你可以使用以下命令:

bash复制代码

git reset <commit_hash> --hard

其中 <commit_hash> 是你要回退到的版本的哈希值。例如,如果你想要回退到前一个版本,可以使用 git reset HEAD^ --hard。

请注意,使用 git reset 命令会删除指定的提交,并且无法恢复。因此,在执行此操作之前,请确保您已经备份了需要保留的修改。

git版本控制可以帮助我们进行版本开发。主要有以下几个步骤:

  1. 创建dev分支,用于开发新功能。命令:

git checkout -b dev

  1. 在dev分支上开发新功能,并提交commit。

  2. 当dev分支开发完成,可以创建一个pull request,请求合并到master分支。

  3. 在master分支上,可以创建release分支,用于发布新版本。命令:

git checkout -b release-1.0

  1. 在release分支上,可以进行版本发布前的测试,修复bug等。并提交commit。

  2. 版本发布后,可以用git tag打标签,用于标记这个版本。命令:

git tag 1.0

  1. 后续如果有bug修复,可以在master分支上修复,并合并到release分支,再发布新版本。

  2. 用户可以通过git checkout 1.0的方式切换到1.0版本的代码。

  3. 也可以基于1.0版本创建维护分支1.0.x,用于1.0版本的升级维护。

所以利用git的分支和标签功能,我们可以很好的管理不同版本的开发和维护。开发人员可以在dev分支上开发新功能,在release分支上准备发布,使用标签标记已发布版本,并可以基于标签创建维护分支进行版本维护。

这是git进行版本控制开发的一个比较标准的流程,希望对您有所帮助!

获取远程分支
git init

git remote add origin https://github.com/sjip008/testbk.git

git fetch origin

git checkout -b works origin/works

提交到远程分支
git push origin works

Git强制覆盖master分支
一、操作步骤

1.1 git push origin develop:master -f
把本地的 develop 分支强制(-f)推送到远程 master
但是上面操作,本地的 master 分支还是旧的,通常来说应该在本地做好修改再去 push 到远端,所以我推荐如下操作

1.2 git checkout master
切换到旧的分支

1.3 git reset --hard develop
将本地的旧分支 master 重置成 develop

1.4 git push origin master --force
再推送到远程仓库

在Git中,根据你的不同操作,有不同的恢复方式(gpt4):

  1. 文件修改后未使用git add,怎么恢复

如果你修改了文件,但还没有使用git add将其添加到暂存区,你可以使用git checkout命令来撤销工作区的修改:

git checkout -- <file>

这个命令会将工作区的修改恢复到最近一次git commitgit add的状态。

  1. 文件修改后使用了git add,怎么恢复

如果你已经使用git add将修改添加到了暂存区,但还没有进行git commit,你可以使用git reset命令来撤销暂存区的修改:

git reset HEAD <file>

这个命令会将暂存区的修改恢复到最近一次git commit的状态,但是工作区的修改不会被撤销。

  1. 文件修改后使用了git commit,怎么恢复

如果你已经使用git commit将修改提交到了版本库,你可以使用git resetgit revert命令来撤销提交:

  • 使用git reset命令:
git reset --hard <commit_id>

这个命令会将HEAD指针、暂存区和工作区都恢复到指定的<commit_id>的状态。

  • 使用git revert命令:
git revert <commit_id>

这个命令会创建一个新的提交,这个提交的内容与你要撤销的提交相反,也就是说,它会撤销你指定的那个提交。

注意:git resetgit revert的区别在于,git reset是用来撤销本地操作,而git revert是用来撤销已经推送到远程仓库的操作。

在Git中,根据你的不同操作,有不同的恢复方式(yiyan):

如果你已经修改了文件,但还没有使用 git add,你可以使用以下命令将修改的内容添加到暂存区:

git add <file_path>

其中 <file_path> 是你要添加的文件的路径。

如果你已经使用 git add 将文件添加到暂存区,但还没有使用 git commit,你可以使用以下命令取消暂存区的修改:

bash复制代码

git restore --staged <file_path>

其中 <file_path> 是你要取消暂存的文件的路径。

如果你已经使用 git commit 提交了修改,但想要恢复到之前的版本,你可以使用以下命令:

bash复制代码

git reset <commit_hash> --hard

其中 <commit_hash> 是你要回退到的版本的哈希值。例如,如果你想要回退到前一个版本,可以使用 git reset HEAD^ --hard。

请注意,使用 git reset 命令会删除指定的提交,并且无法恢复。因此,在执行此操作之前,请确保您已经备份了需要保留的修改。

git版本控制可以帮助我们进行版本开发。主要有以下几个步骤:

  1. 创建dev分支,用于开发新功能。命令:

git checkout -b dev

  1. 在dev分支上开发新功能,并提交commit。

  2. 当dev分支开发完成,可以创建一个pull request,请求合并到master分支。

  3. 在master分支上,可以创建release分支,用于发布新版本。命令:

git checkout -b release-1.0

  1. 在release分支上,可以进行版本发布前的测试,修复bug等。并提交commit。

  2. 版本发布后,可以用git tag打标签,用于标记这个版本。命令:

git tag 1.0

  1. 后续如果有bug修复,可以在master分支上修复,并合并到release分支,再发布新版本。

  2. 用户可以通过git checkout 1.0的方式切换到1.0版本的代码。

  3. 也可以基于1.0版本创建维护分支1.0.x,用于1.0版本的升级维护。

所以利用git的分支和标签功能,我们可以很好的管理不同版本的开发和维护。开发人员可以在dev分支上开发新功能,在release分支上准备发布,使用标签标记已发布版本,并可以基于标签创建维护分支进行版本维护。

这是git进行版本控制开发的一个比较标准的流程,希望对您有所帮助!

.gitignore 添加了规则后,之前的已经进入缓存区的如何删除

如果您已经将__pycache__添加到.gitignore文件中,但是在运行git add .之后,仍然会将添加__pycache__之前的文件添加到暂存区,则需要使用以下命令:git rm -r --cached .。这将从缓存中删除所有文件,然后您可以再次运行git add .以将所有更改添加到暂存区。¹²

源: 与必应的对话, 2023/7/12
(1) How to ignore the same name directory pycache in a project?. https://stackoverflow.com/questions/56309100/how-to-ignore-the-same-name-directory-pycache-in-a-project.
(2) gitignore - Git Ignore All pycache Directory - Stack Overflow. https://stackoverflow.com/questions/71123878/git-ignore-all-pycache-directory.
(3) What is pycache in Python? | Towards Data Science. https://towardsdatascience.com/pycache-python-991424aabad8.

有时候跑开程序后,有做稍微改动,再次拉取代码报错

可以用一下命令 ,将其回退到HEAD指向的提交

git reset --hard HEAD

这个命令将重置您的存储库,将其回退到HEAD指向的提交。 HEAD是当前分支的最新提交。 --hard选项将重置工作目录和暂存区,以便与HEAD指向的提交完全匹配。 这意味着您将丢失所有未提交的更改。¹²³

源: 与必应的对话, 2023/7/12
(1) git reset --hard HEAD - 知乎. https://zhuanlan.zhihu.com/p/411950074.
(2) How To Git Reset to HEAD – devconnected. https://devconnected.com/how-to-git-reset-to-head/.
(3) git reset --hard HEAD - 简书. https://www.jianshu.com/p/3d6606517c3a.
(4) Git - git-reset Documentation. https://git-scm.com/docs/git-reset.
(5) How do I use 'git reset --hard HEAD' to revert to a previous commit?. https://stackoverflow.com/questions/9529078/how-do-i-use-git-reset-hard-head-to-revert-to-a-previous-commit.
(6) git reset 命令 | 菜鸟教程. https://www.runoob.com/git/git-reset.html.

posted @ 2018-09-12 11:44  蓝天008  阅读(143)  评论(0)    收藏  举报