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):
- 文件修改后未使用git add,怎么恢复
如果你修改了文件,但还没有使用git add将其添加到暂存区,你可以使用git checkout命令来撤销工作区的修改:
git checkout -- <file>
这个命令会将工作区的修改恢复到最近一次git commit或git add的状态。
- 文件修改后使用了git add,怎么恢复
如果你已经使用git add将修改添加到了暂存区,但还没有进行git commit,你可以使用git reset命令来撤销暂存区的修改:
git reset HEAD <file>
这个命令会将暂存区的修改恢复到最近一次git commit的状态,但是工作区的修改不会被撤销。
- 文件修改后使用了git commit,怎么恢复
如果你已经使用git commit将修改提交到了版本库,你可以使用git reset或git revert命令来撤销提交:
- 使用
git reset命令:
git reset --hard <commit_id>
这个命令会将HEAD指针、暂存区和工作区都恢复到指定的<commit_id>的状态。
- 使用
git revert命令:
git revert <commit_id>
这个命令会创建一个新的提交,这个提交的内容与你要撤销的提交相反,也就是说,它会撤销你指定的那个提交。
注意:git reset和git 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版本控制可以帮助我们进行版本开发。主要有以下几个步骤:
- 创建dev分支,用于开发新功能。命令:
git checkout -b dev
-
在dev分支上开发新功能,并提交commit。
-
当dev分支开发完成,可以创建一个pull request,请求合并到master分支。
-
在master分支上,可以创建release分支,用于发布新版本。命令:
git checkout -b release-1.0
-
在release分支上,可以进行版本发布前的测试,修复bug等。并提交commit。
-
版本发布后,可以用git tag打标签,用于标记这个版本。命令:
git tag 1.0
-
后续如果有bug修复,可以在master分支上修复,并合并到release分支,再发布新版本。
-
用户可以通过git checkout 1.0的方式切换到1.0版本的代码。
-
也可以基于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):
- 文件修改后未使用git add,怎么恢复
如果你修改了文件,但还没有使用git add将其添加到暂存区,你可以使用git checkout命令来撤销工作区的修改:
git checkout -- <file>
这个命令会将工作区的修改恢复到最近一次git commit或git add的状态。
- 文件修改后使用了git add,怎么恢复
如果你已经使用git add将修改添加到了暂存区,但还没有进行git commit,你可以使用git reset命令来撤销暂存区的修改:
git reset HEAD <file>
这个命令会将暂存区的修改恢复到最近一次git commit的状态,但是工作区的修改不会被撤销。
- 文件修改后使用了git commit,怎么恢复
如果你已经使用git commit将修改提交到了版本库,你可以使用git reset或git revert命令来撤销提交:
- 使用
git reset命令:
git reset --hard <commit_id>
这个命令会将HEAD指针、暂存区和工作区都恢复到指定的<commit_id>的状态。
- 使用
git revert命令:
git revert <commit_id>
这个命令会创建一个新的提交,这个提交的内容与你要撤销的提交相反,也就是说,它会撤销你指定的那个提交。
注意:git reset和git 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版本控制可以帮助我们进行版本开发。主要有以下几个步骤:
- 创建dev分支,用于开发新功能。命令:
git checkout -b dev
-
在dev分支上开发新功能,并提交commit。
-
当dev分支开发完成,可以创建一个pull request,请求合并到master分支。
-
在master分支上,可以创建release分支,用于发布新版本。命令:
git checkout -b release-1.0
-
在release分支上,可以进行版本发布前的测试,修复bug等。并提交commit。
-
版本发布后,可以用git tag打标签,用于标记这个版本。命令:
git tag 1.0
-
后续如果有bug修复,可以在master分支上修复,并合并到release分支,再发布新版本。
-
用户可以通过git checkout 1.0的方式切换到1.0版本的代码。
-
也可以基于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.

浙公网安备 33010602011771号