情况:我有一个Git存储库,其中包含已存在于索引中的文件.我对几个文件进行了更改,打开Git并使用"git add"将这些文件添加到我的临时区域.
问题:如何从暂存区域中删除其中一个文件但不将其从索引中删除或撤消对文件本身的更改?
我运行了"git status",下面列出了一些被修改的文件/或标题为"未提交更改的更改"标题.它还列出了一些我想忽略的未跟踪文件(我在这些目录中有一个".gitignore"文件).
我想将修改后的文件放在暂存中,以便我可以提交它们.当我运行"git add."时,它将修改后的文件和我想忽略的文件添加到登台.
如果使用下面的git状态显示,如何仅添加已修改的文件并忽略未跟踪的文件.
另外,我的".gitignore"文件是否正常工作?
$ git status
# On branch addLocation
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: someProject/path/domain/viewer/LocationDO.java
# modified: someProject/path/service/ld/LdService.java
# modified: someProject/path/service/ld/LdServiceImpl.java
# modified: someProject/path/web/jsf/viewer/LocationFormAction.java
# modified: someProject/war/WEB-INF/classes/message/viewer/viewer.properties
# modified: someProject/war/page/viewer/searchForm.xhtml
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# .metadata/ …Run Code Online (Sandbox Code Playgroud) 如果要将提交移动到暂存区域 - 这是不允许的,并将其中的所有更改移动到暂存区域(有效地将分支置于提交之前的状态) - 你怎么做呢?或者是你不能做的事情?
我知道怎么做的最接近的方法是将提交中更改的所有文件复制到其他地方,在提交之前将分支重置为提交,然后尝试移动到暂存区域,移动所有将文件复制回存储库,然后将它们添加到临时区域.它有效,但它不是一个很好的解决方案.我希望能够做的只是撤消提交并将其更改为暂存区域.可以吗?如果是这样,怎么样?
目前我的网站(生产服务器)已经有很多代码.现在我想开始为我的项目使用Git并为我的团队设置一个临时服务器.任何人都可以给我任何建议吗?
这是我脑海中的画面:
Production - Production server which already have codes
?
Staging - New staging server, will install Trac too
?? ??
Developer1 Developer2 - Local development
Run Code Online (Sandbox Code Playgroud)
我的问题是,我应该如何开始?
以下是我的一些步骤:
git init在生产服务器上做(这样安全吗?)clone 从生产到登台服务器的repoclone从登台到本地机器的回购push 完成更改后,文件到登台服务器push一切都要生产这项工作流程是否有意义,或者有更好的方法可以做到这一点?
如果我只想更改一个文件怎么办?
origin/master在这个过程中是否与它有关?谁是起源?我最终会有多个起源吗?
此外,branch在这种情况下,开发人员何时应该使用?
在git中,如果我的索引中存在来自同一文件的几个帅哥,我怎么能以交互方式取消其中一个呢?
是否可以替换整个文件,然后重新暂存我想要保留的数据,或者手动撤消对工作副本的更改,然后以交互方式添加这些撤消的更改?
我希望能够将代码推送到dev.myapp.com测试,然后再www.myapp.com用于生产.Heroku可以实现吗?
正确配置开发服务器和生产服务器之后,我想在Google App Engine上设置一个临时环境,可以在将新版本部署到生产环境之前对其进行实时测试.
我知道两种不同的方法:
答:第一个选项是修改app.yaml 版本参数.
version: app-staging
Run Code Online (Sandbox Code Playgroud)
我不喜欢这种方法的是生产数据受到我的临时测试的污染,因为(如果我错了,请纠正我):
关于第一点,我不知道是否可以使用新的命名空间python API "修复"它.
B.第二个选项是修改app.yaml 应用程序参数
application: foonamestaging
Run Code Online (Sandbox Code Playgroud)
通过这种方法,我将创建一个完全独立于Production版本的第二个应用程序.
我看到的唯一缺点是我被迫配置第二个应用程序(管理员设置).
使用像Gaebar这样的备份\还原工具,此解决方案也可以正常运行.
您使用什么样的方法为Web应用程序设置临时环境?
另外,在部署之前,您是否有任何自动脚本来更改yaml?
我有一个应用程序,我只是迁移到Azure.目前我使用web.config转换来管理更改数据库连接字符串dev/staging/prod环境.如何在Azure中管理这些多个连接字符串?
connection-string azure application-settings staging azure-sql-database
为了有效地使用git(并且按照预期),我进行了小型的原子提交,而我确实有更长的会话,我不仅要改变一件事.因此,我大量使用git add -p.但是,这对于全新的文件不起作用,因为我以后往往会忘记它们.
我想要做的是,告诉git有是一个新的文件,我想它来跟踪,但不是阶段,它:
示例:运行git status生成:
# On branch my-current-branch
# Your branch is ahead of 'origin/my-current-branch' by 2 commits.
#
# Changes to be committed:
#
<<STAGED SECTION>> // A
#
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
<<UNSTAGED-YET-KNOWN SECTION>> // B
#
# Untracked files: …Run Code Online (Sandbox Code Playgroud) 我一直在研究一个被推送到heroku的网络应用程序.源代码托管在GitHub上.
因此git push将主分支推送到GutHub.
我的git分支'master'连接到Heroku应用程序' my-app-staging'
所以git push heroku推动应用程序my-app-staging.herokuapp.com
我已经创建了一个新的Heroku应用程序,它将成为'生产'应用程序,让我们称之为' my-app-prod'.
我创建了一个名为' production'(即git checkout -b production)的分支,我已经运行git push -u origin production使其成为GitHub的托管分支.
我现在想要将production分支链接到my-app-prod.herokuapp.com这样,当切换到production分支时,我可以简单地键入git push heroku(或者可能git push prod-heroku production或类似)并且瞧 - 生产分支被推送到生产应用程序.
将我的production分支链接到my-app-prodHeroku 的推荐方法是什么?
我已经沉迷于Heroku自己的文档,但他们都假设我已经使用heroku createCLI设置我的应用程序,而不是通过Heroku的网站设置我的应用程序,但是下面的段落让我头晕目眩:
输入很简单
git push staging master,git push production master当你按照上面的步骤操作时.然而,许多开发人员喜欢利用git的分支来分离正在进行的和生产就绪的代码.在这种设置中,您可以从主分支部署到生产,一旦在暂存应用程序上审阅后,就可以合并来自开发分支的更改.有了这个设置,推动是一个更小的棘手:
我最终想要的地方如下:
master:(a)git push将代码推送到GitHub,以及(b)git …staging ×10
git ×7
commit ×2
deployment ×2
heroku ×2
azure ×1
git-branch ×1
git-index ×1
gitignore ×1
production ×1
python ×1