今天想提交項目到github的遠程分支上,那個遠程分支是之前就創建好的,而我的本地關聯分支還沒創建。
之前從未用github提交到遠程分支過,弄了半個鍾,看了幾篇博文,終於折騰出來。現在把步驟整理下:
1、在項目文件目錄下,打開Git Bash Here;
2、使用git add命令,將我們要提交的文件信息(包括有修改過和新建的文件)添加到索引庫。輸入以下命令:
git add .
3、使用git commit命令,根據索引庫的內容進行文件的提交。輸入以下命令:
git commit -m "commit the user's jade"
PS:-m <提交的描述信息>
-m選項用於提交描述信息
4、新建本地分支:git branch <branchname>,輸入命令:
git branch xf
5、查看該項目的所有本地和遠程分支:git branch -a ,並在當前所在分支前加"*"標記
拓展:git branch 查看本地分支
git branch -r 查看遠程分支
此處,我們查看所有分支,包括遠程和本地,故輸入命令:(該步驟可省略)
git branch -a
6、切換本地分支:git checkout <分支名>,輸入以下命令:
git checkout xf
7、把遠程分支的代碼pull到本地分支:git pull <遠程主機名> <遠程分支名>:<本地分支名>
如:取回origin主機的xf分支,與本地的xf分支合並,輸入命令:
git pull origin xf:xf
遠程主機名可通過上方的git branch -a或git branch -r查詢,看下圖:
PS:push代碼前最好先用pull更新本地代碼。
8、最后一步:git push <遠程主機名> <本地分支名>:<遠程分支名>
PS:注意,分支推送順序的寫法是<來源地>:<目的地>,所以git pull是<遠程分支>:<本地分支>,而git push是<本地分支>:<遠程分支>。
eg:
git push origin xf:xf
上面命令表示,將本地的xf分支推送到origin主機的xf分支。
如果省略遠程分支名,則表示將本地分支推送與之存在"追蹤關系"的遠程分支(通常兩者同名),如果該遠程分支不存在,則會被新建。
eg:
git push origin test
上面命令表示,將本地的test分支推送到origin主機的test分支。如果后者不存在,則會被新建。
PS:提交遠程分支有三種方式,我用的是下面第一種方法,大家有空也可以試下另外兩種。
1. add並且commit,再checkout,提交到當前分支;
2. add但不commit,可以stash,然后checkout回來之后stash apply,在commit,提交到當前分支;
3. add但不commit,也不stash,直接checkout,然后再commit,(提交)記錄就在切換分支下面。
如有寫的不好、不對的地方,歡迎批評指教,謝謝~
