这是我的git repo现在如何的一个例子:
Run Code Online (Sandbox Code Playgroud)v1.0 v1.1 v1.2 | | | a - b - c | | master HEAD
我通常像这样提交,标记和推送标签:
git commit -a -m "Commit msg"
git tag -a v1.3 -m "Tag msg"
git push --tags
Run Code Online (Sandbox Code Playgroud)
我遇到的主要问题是master分支没有移动到最新的标签,所以我总是处于Detached HEAD状态.有没有办法解决这个问题,以便主分支始终指向最新的推送标签?
我还在和Git挣扎.
事情是:
我们是两个人在一个项目上工作.
我创建了一个名为relation的master的新分支.
现在我的朋友已更新主人但需要我修复一些错误.
当我在Netbeans中切换到分支时,它给了我所有"关系" - 改变并希望我提交它们.
那不是我想要的!
Netbeans网站告诉我这个[切换到分支]:
Switch to Branch
Actor: User
Action: User wants to switch to a branch (see also Checkout)
"Priority:" 1
Scenario:
User selects a versioned context and invokes 'switch branch' from the main menu
User specifies the branch and additional options - keep local changes etc.
The working tree is switched to the specified branch
Run Code Online (Sandbox Code Playgroud)
和[结账]:
查看
Actor: User
Action: User wants to checkout a specific revision/tag/branch
"Priority:" 1
Scenario:
User selects …Run Code Online (Sandbox Code Playgroud) 我在git存储库上有我的项目,到目前为止我发现它并不是非常有用.我之前使用过git并认为它很棒,但这次我使用的是本地回购.我认为有一些方法可以将文件恢复到之前的提交,甚至整个项目,但我找不到这个选项?
有办法做到这一点吗?或者我必须提前创建分支.因为这似乎你必须事先知道我们会出错.
此外,我找不到一个选项来放弃我的项目中的所有本地更改,有效地恢复到我上次提交.
我试过git子模块.虽然它可以解决我在项目中共享存储库的问题,但是使用子模块有两个问题困扰我:
这两个问题很容易在日常开发工作中引入错误.我发现git奴隶可以解决我的问题.
使用git slave有任何副作用吗?
或者是否有良好的做法可以避免git子模块中的上述问题?
给定项目目录中的 git 存储库树,例如
Projects/
+A/
|+.git/
+B/
|+.git
Run Code Online (Sandbox Code Playgroud)
我想设置一个 git 存储库Projects.git,它不跟踪项目的内容,而只跟踪它们的存在和状态。克隆这个存储库的人应该只有一个未克隆的存储库等的骨架A,B并单独激活它们是否保持同步。典型的工作流程如下所示:
git clone server:Projects.gitA,它也会克隆它git-push/pull,独立于它是否在Projects/或Projects/A应该更新两者A.git 和 Projects.git关于 的信息A。任何相关的都B应该被忽略,因为它是不活动的并且本地是空的B,也克隆它git-push/pullinProjects也应该在Aand 中这样做B,而推/拉A不应该影响BA,它(验证后A.git不需要a git-push)清空本地目录A,不影响Project.git怎样才能最好地治疗?我目前的方法是一些钩子魔术,但我对git 子模块不够熟悉,看不到这是否可以通过子模块来实现,或者我是否需要使用其他一些解决方案。
我们使用Github进行组织中的源代码控制。多个开发人员不断将其更改合并到远程源存储库。就我而言,两周后我克隆了存储库,此后又进行了多次合并。现在,我试图使用该代码的最新版本。
git pull origin master
Run Code Online (Sandbox Code Playgroud)
我肯定知道自从我上次克隆以来已经进行了多次合并,但是pull命令告诉我它已经是最新的了。我在这里想念什么吗?
我需要第一次将我的更改推送到远程仓库
// I added the other repo as a remote
$ git remote add devstage -f <Other-Repo>
// Merged the files from devstage to my local
$ git merge devstage/master -s recursive -X ours
// Executing Everything up-to-date
$ git push devstage HEAD
Run Code Online (Sandbox Code Playgroud)
但这些文件并未真正推向Other-Repo.
我错过了什么?我当地的所有文件都没有上演.如果我打开一个文件暂存并将其推送到遥控器,它将被推送.
在我的Android Studio项目中,我有一个名为的分支myproj.
我已经更新并承诺了几天.我决定要开发一个新功能,我不知道它会带给我什么,所以我创建了一个新功能branch.
然而,当我提交并推送我的新更改时,它似乎只在本地提交但没有推动它.当我去我的Git存储库时,它仍然说我有一个分支.
如何将这个新分支推送到Git?
我正在尝试获取远程分支并跟踪它,但是当我这样做时:
git checkout remotes/mybranch
Run Code Online (Sandbox Code Playgroud)
当我做git branch -a它会显示红色的遥控器/ mybranch?我收到一个错误:
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.
Run Code Online (Sandbox Code Playgroud)
我如何在本地检查这个mybranch并跟踪它?如何避免分离的HEAD状态?