使用git push是,采用以下步驟:
git init
git add README.md
git commit -m "first commit"
git remote add origin git@github.com:wuchao226/githubApp.git
git push -u origin master
branch 的創(chuàng)建床佳、切換和刪除
創(chuàng)建 branch
創(chuàng)建一個叫做 "feature1" 的 branch,只要輸入:
git branch feature1
切換 branch
不過新建的 branch 并不會自動切換,你的 HEAD 在這時依然是指向 master 的。你需要用 checkout 來主動切換到你的新 branch 去:
git checkout feature1
除此之外匆瓜,你還可以用 git checkout -b 名稱 來把上面兩步操作合并執(zhí)行萧吠。這行代碼可以幫你用指定的名稱創(chuàng)建 branch 后拇砰,再直接切換過去。還以 feature1 為例的話瑰枫,就是:
git checkout -b feature1
在切換到新的 branch 后,再次 commit 時 HEAD 就會帶著新的 branch 移動了:
...
git commit
git 切換分支
- 查看分支
git branch -a - 查看本地分支
git branch - 切換分支
git checkout "分支名"(如切換為 master 分支:git checkout master)
刪除 branch
刪除 branch 的方法非常簡單:git branch -d 名稱。例如要刪除 feature1 這個 branch:
git branch -d feature1
git 添加標(biāo)簽 tag
打印所有標(biāo)簽
git tag
打印符合檢索條件的標(biāo)簽
git tag -l <版本號>
創(chuàng)建輕量標(biāo)簽
git tag 1.0.0 -light
創(chuàng)建帶備注標(biāo)簽(推薦)
git tag -a 1.0.0 -m "這是備注信息"
刪除標(biāo)簽(本地)
git tag -d 1.0.0
git 刪除遠(yuǎn)程標(biāo)簽:
git push origin :refs/tags/標(biāo)簽名
例如:git push origin :refs/tags/v3.1.0
將本地標(biāo)簽發(fā)布到遠(yuǎn)程倉庫
// 發(fā)送所有
git push origin --tags
// 指定版本發(fā)送
git push origin 1.0.0
常見問題
1. 輸入$git remote add origin git@github.com:wuchao226(github帳號名)/breakpointResume(項目名).git時
提示錯誤信息 fatal: remote origin already exists.
解決辦法:
1、先輸入$ git remote rm origin
2、再輸入$ git remote add origin git@github.com:wuchao226/breakpointResume.git 就不會報錯了部宿!
2. 輸入git push
提示錯誤fatal: The current branch master has no upstream branch.
原因:主要是由于遠(yuǎn)程倉庫太多,且分支較多雾叭。在默認(rèn)情況下,git push時一般會上傳到origin下的master分支上移迫,然而當(dāng)repository和branch過多,而又沒有設(shè)置關(guān)聯(lián)時荡陷,git就會產(chǎn)生疑問逗柴,因為它無法判斷你的push目標(biāo)渣蜗。
解決辦法其實就是確定這兩個值,方法有兩種:
- git push --set-upstream origin master其中的origin是你在clone遠(yuǎn)程代碼時浸赫,git為你創(chuàng)建的指向這個遠(yuǎn)程代碼庫的標(biāo)簽,它指向repository运敢。為了能清楚了解你要指向的repository稻扬,可以用命令git remote -v進(jìn)行查看泰佳。master是你遠(yuǎn)程的branch,可以用git branch -a查看所有分支,遠(yuǎn)程分支是紅色的部分。然后確定好這兩個值后积仗,將命令中標(biāo)粗的參數(shù)換掉即可回右。
- git push -u origin master根據(jù)需要渺氧,替換origin和master侣背。
兩個命令的區(qū)別是第一條命令是要保證你的遠(yuǎn)程分支存在,如果不存在,也就無法進(jìn)行關(guān)聯(lián)。而第二條指令即使遠(yuǎn)程沒有你要關(guān)聯(lián)的分支岁经,它也會自動創(chuàng)建一個出來塘慕,以實現(xiàn)關(guān)聯(lián)。
3.輸入git push -u origin master
提示錯誤error: failed to push some refs to 'git@github.com:xxx/xxx.git'
原因:
GitHub遠(yuǎn)程倉庫中的README.md文件不在本地倉庫中。
解決方案:
$ git pull --rebase origin master
$ git push -u origin master
4.輸入git push -u origin master
提示以下錯誤:
error: src refspec master does not match any.
error: failed to push some refs to "xxxxxxx"
用如下方法解決:
git add .
git commit -m "write your meaaage"
5. git 執(zhí)行g(shù)it pull –rebase報錯誤如下:
Cannot rebase: Your index contains uncommitted changes.
Please commit or stash them.
原因:如果有未提交的更改摊鸡,是不能git pull的
解決:
先執(zhí)行git stash
再執(zhí)行 git pull –rebase
最后再執(zhí)行 git stash pop
git stash #可用來暫存當(dāng)前正在進(jìn)行的工作
git stash pop #從Git棧中讀取最近一次保存的內(nèi)容
6. Push master to origin/master was rejected by remote
在使用 Git Push 代碼的時候掸刊,會出現(xiàn) Push to origin/master was rejected
的錯誤提示蚓炬。
解決
輸入下面命令:
git pull origin master --allow-unrelated-histories
然后在 push 即可驯击。