使用git推送新版本而不会丢失旧版本

时间:2018-05-02 17:24:04

标签: git bitbucket

我正在学习使用git,现在我有一个项目,我正在使用bitbucket来保存我的代码,我知道如何更新它,事情就是现在我对我的代码进行了一些市长更改我想上传它但不丢失或更新bitbucket上的代码,我该怎么做?我找不到命令。

分支是否与版本相同?例如,如果我创建一个分支:

git checkout -b <new-branch>

这个分支就像说项目v1.2?

3 个答案:

答案 0 :(得分:5)

没有必要使用分支。

每次执行提交时,相应的版本都存储在您的存储库中。您可以稍后通过git checkout或bitbucket gui。

访问它

您需要做的就是将您的文件添加(git add)到存储库,然后使用git commit -m "added support of this.."提交代码的当前状态(您添加的所有文件)。

更改文件后,您执行git commit -m "fixed issue about ... ",此版本也会存储在历史记录中。

请注意,提交是(通常)代码中的小增量更改。 对于版本管理和版本(v.1.0v.2.2等),您可以使用tags,正如@Schwern在下面的评论中所建议的那样。

答案 1 :(得分:0)

如果我了解您的要求,您希望能够更新您的项目,但仍允许其他人下载此版本。您希望人们在使用v1.2时能够下载v1.1。

在版本控制中,这通常使用tag完成。标签只是在提交上放置标签。它有点像分支,但它永远不会移动。然后人们可以签出该标签。例如......

# This tags the current commit as v1.1
git tag v1.1

# This uploads your tags.
git push --tags

# Then anyone can checkout v1.1
git checkout v1.1

使用版本标签允许任何人轻松签出版本,您可以继续使用良好的提交消息进行小的更改。

这是Bitbucket's own documentation about tagging

其他系统,例如Github go a step further and turn your tags into "releases" which are downloadable from their web site。 Bitbucket似乎不支持此功能,但it seems it's in the works

至于分支,如果v1.1 完成那么就没有必要为新版本分支。继续处理master并为新版本制作新标记。

适用的版本分支适用于必须同时维护多个主要版本的大型项目。例如,编程语言可能需要在同时处理v3时维护v2。所以他们可能有一个v2分支和一个v3分支。每个人仍然有自己的标签(v2.2.4,v3.0.3等......)。

答案 2 :(得分:0)

您必须了解哪些开发人员正在使用的标准。 从master创建一个分支,以开发和开发到yourBranch。

  

Mater - &gt;开发 - &gt; yourBranch

您可能会在 yourBranch 中进行更改,合并到开发中,然后开发以创建发布分支并在master中合并,并创建新标记并投入生产。这个新标记也包含所有更改和旧代码。

  

V1.2(标签)&lt; - Mater(分支)&lt; - releaseV1.2(分支)&lt; - develop(分支)   &lt; - yourBranch(分支机构)

标记命令

# To get latest tag using command
git describe

# To create new tag
git tag v1.1

# To uploads all your tags in origin
git push --tags

分支命令

# To create a new branch
git branch branchName

# To checkout in branch 
git checkout branchName

# Create a new branch and checkout in that branch
git checkout -b branchName

# To pull branch in origin
git pull origin branchName

# To add all files in which you have done changes
git add .

# To add single file in which you have done changes
git add pathToFile/fileName

# To commit your changes
git commit -m "Your message, what changes you have done"

# To push your changes in origin remote 
git push origin yourBranch