[英]How to push a directory from one repository to the master branch of another repository?
[英]How to push code to repository from another branch
我的存儲庫中有兩個分支:branch1和branch2(這里不需要master)。
在branch1上我有我的代碼,但是整個項目都有不需要的文件,所以我決定創建新的分支,添加.gitignore並包含我不需要的目錄和文件,然后將其推入branch2以僅包含src目錄,gradle.build和.gitignore。
我使用GitBash並按順序執行:
git checkout -b branch2 //to create branch
git add --all //to add all files (.gitignore should exclude no needed files)
git commit -m "message"
git push -u origin branch2
然后我在bitbucket上輸入我的存儲庫,並且有一個branch2但是有我不想擁有的文件。 我究竟做錯了什么?
提前致謝。
添加和推送.gitignore並不意味着要自動刪除要插入的文件。 它們在branch2被切斷之前(在branch1提交時)被提交,因此當你切割branch2時,它們被包括在內。
你需要git-rm這些文件一次,推送到遠程倉庫,然后希望將被git忽略。
如果文件已經版本化,則添加.gitignore將不會刪除它們。 你必須從git中刪除它們
git rm --cached file
//包含你想要的文件
gitignore現在會阻止他們添加。
所以這些一步一步這樣做:
使用相同的命令創建一個新的branch2:git checkout -b branch2
然后通過使用命令運行git rm刪除所有文件:git rm。 這樣您就可以將其從branch2中刪除。 記住它不會影響你的branch1。
然后提交並將更改推送到branch2。
現在只需從branch1復制所有這些不需要的文件,然后將它們添加到branch2。
現在你的gitignore將會出現,並且既不會要求你提交這些文件,也不會要求他們將這些文件推送到遠程存儲庫。 此后對這些文件所做的任何更改都將被忽略。
.gitignore
列出的文件和路徑意味着即使它們存在(或不存在)也不會被跟蹤,即使你創建了新的分支,git也不會關心,因為它們被忽略了
.gitignore
是分支機構之間共享的配置文件
我想你想要的是刪除被忽略的文件和目錄(在.gitignore中列出)
on branch1 or branch2: git clean -xfd
on branch1 or branch2: git push
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.