git 代碼托管
一炸渡,git安裝
去Git官網(wǎng)上下載安裝即可
二丽已,ssh -key配置
1. 檢查是否已經(jīng)有SSH Key。
$cd ~/.ssh //如果說沒有這個目錄沛婴,就直接看第三步
2. 備份
3. 生成一個新的SSH嘁灯。
$ssh-keygen -t rsa -C "email"
("email" git賬號)
之后直接回車,不用填寫東西丑婿。之后會讓你輸入密碼。然后就生成一個目錄.ssh 秒旋,里面有兩個文件:id_rsa , id_rsa.pub
4. 把這個SSH放到github上诀拭。用公鑰。先在GitHub上注冊一個用戶炫加,然后進(jìn)入account-setting ,把id_rsa.pub的內(nèi)容復(fù)制進(jìn)去就可以了酒甸。
用記事本打開id_rsa.pub文件赋铝,復(fù)制內(nèi)容,在github.com的網(wǎng)站上到ssh密鑰管理頁面革骨,添加新公鑰,隨便取個名字盛卡,內(nèi)容粘貼剛才復(fù)制的內(nèi)容筑凫。
然后把id_rsa.pub里的內(nèi)容復(fù)制進(jìn)去就可以了并村。
三哩牍,配置賬戶
指令:
$ git config --global user.name “your_username”
#設(shè)置用戶名
$ git config --global user.email “your_registered_github_Email”
#設(shè)置郵箱地址(建議用注冊giuhub的郵箱)
四令漂,測試ssh keys是否設(shè)置成功
ssh -T git@github.com
The authenticity of host 'github.com (192.30.252.129)' can't be established.
RSA key fingerprint is 16:27:xx:xx:xx:xx:xx:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)? yes #確認(rèn)你是否繼續(xù)聯(lián)系,輸入yes
Warning: Permanently added 'github.com,192.30.252.129' (RSA) to the list of known hosts.
Enter passphrase for key '/c/Users/xxxx_000/.ssh/id_rsa': #生成ssh kye是密碼為空則無此項外潜,若設(shè)置有密碼則有此項且挠唆,輸入生成ssh key時設(shè)置的密碼即可嘱吗。
Hi xxx! You've successfully authenticated, but GitHub does not provide shell access. #出現(xiàn)此句話,說明設(shè)置成功谒麦。
五,git指令
1.克隆代碼
git clone 地址
2.提交
//先放進(jìn)本地倉庫
git add .
git commit -m '本次提交備注'
git status //查看倉庫狀態(tài)
3.推到遠(yuǎn)程倉庫
git push
4.將本地更新為最新狀態(tài)
git pull //將當(dāng)前分支綁定的遠(yuǎn)程分支的最新的修改拉取到本地患膛,一般在我們push之前都應(yīng)該pull拉取一下查看是否有沖突
5.本地回退版本
git reflog //回溯歷史版本
git reset --hard //回溯到指定狀態(tài)耻蛇,只要提供目標(biāo)時間點的哈希值
6.分支操作
https://jingyan.baidu.com/article/48206aea68e69f216ad6b33f.html
git branch //顯示分支一覽表,同時確認(rèn)當(dāng)前所在的分支
git checkout -b aaa //創(chuàng)建名為aaa的分支跃捣,并且切換到aaa分支
(git branch aaa //創(chuàng)建名為aaa的分支
git checkout aaa // 切換到aaa分支)能和git branch -b aaa 得到同樣的效果
7.合并分支
git checkout <主分支> //先切換到合并的分支
git merge <被合并的分支> -m '填寫一個合并的信息' //再將指定分支合并到當(dāng)前分支
git push
查看當(dāng)前已合并的和未合并過的分支夺蛇,可見其他分支中沒有合并的內(nèi)容
git branch --merged
git branch --no-merged
8. git 本地分支與遠(yuǎn)程分支
(參考)https://www.cnblogs.com/lianghe01/p/5806518.html
github上已經(jīng)有master分支 和dev分支
在本地
git checkout -b dev // 新建并切換到本地dev分支
git pull origin dev //本地分支與遠(yuǎn)程分支相關(guān)聯(lián)
在本地新建分支并推送到遠(yuǎn)程
git checkout -b test
git push origin test //這樣遠(yuǎn)程倉庫中也就創(chuàng)建了一個test分支
六刁赦,一些遇到的報錯
1.同一份文件,在你提交時甚脉,有人比你更早更新了文件并上傳,使你的本地文件并非最新发钝。因此,在你想上傳自己修改后的文件時酝豪,第一步git pull時,會報如下錯誤:
error: Your local changes to the following files would be overwritten by merge:
src/test/resources/application_context.xml
Please, commit your changes or stash them before you can merge.
Aborting
為解決此問題蒲障,做如下操作
git stash
隱藏本地修改
git pull
下載最新代碼
git stash pop
從Git棧中讀取最近一次保存的內(nèi)容瘫证,恢復(fù)自己的本地修改
提示有無沖突
若有沖突,則解決沖突
若無背捌,則直接提交
git add .
git commit -m "comments"
2.當(dāng)前分支與遠(yuǎn)程分支沒有建立關(guān)聯(lián)毡庆,提示運行 git push --set-upstream origin master2 與遠(yuǎn)程倉庫建立關(guān)聯(lián),運行后即可通過 git push 推送成功
fatal: The current branch v2.0.6 has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin v2.0.6
復(fù)制執(zhí)行即可
git push --set-upstream origin v2.0.6