我一直在使用GitHub时犯了很多初学者错误,因此我正在寻找一种绝对可靠的(适合自己的!)方法来确保:
a) 我在派生分支上创建的所有新分支都基于原始主分支,而不是其他分支,以及...
b) 我的原始主分支始终与上游主分支保持最新,以及...
c) 当/在提交(推送?)之前,我的更改将被重新基于上游主分支。
以下是我目前的做法...
要创建新分支:
a) 我在派生分支上创建的所有新分支都基于原始主分支,而不是其他分支,以及...
b) 我的原始主分支始终与上游主分支保持最新,以及...
c) 当/在提交(推送?)之前,我的更改将被重新基于上游主分支。
以下是我目前的做法...
要创建新分支:
git fetch --all --tag
git pull upstream master
git push origin master
git checkout -b my_branch_name -t origin/master
将我的更改存储到该分支中:
git add -A
git commit -m "Summary of what changed"
git fetch --all --tag
git pull --rebase upstream master
git push origin my_branch_name
在以后的日期加载现有分支(例如,根据PR反馈进行一些其他更改):
git fetch --all --tag
git pull upstream master
git push origin master
git checkout my_branch_name -t origin/master
然后保存我的更新到该分支:
git add -A
git commit --amend --no-edit
git fetch --all --tag
git pull --rebase upstream master
git push origin my_branch_name -f
我必须承认,我并不完全理解这些命令的作用 - 似乎有很多类似的方式可以做很多类似的事情,尽管我已经搜索/阅读了很多,但我仍然是个新手。
非常感谢任何指导!
git pull --rebase upstream master
后跟git push origin my_branch_name
通常不起作用,因为您正在重写my_branch_name
的历史记录。相反,您需要通过git push --force origin my_branch_name
强制推送您的分支。 - Tim Biegeleisenmaster
并从那里执行git branch
,就是这么简单。 - Tim Biegeleisen