91av免费观看_日韩视频在线免费看_日本xxxx色视频在线观看免费_伊人222综合网图片_国产二区三区在线_91麻豆麻豆

IT之道-艾銻知道

您當(dāng)前位置: 主頁(yè) > 資訊動(dòng)態(tài) > 艾銻分享 >

服務(wù)器維護(hù)linux下git的安裝和使用


2020-05-24 16:01 作者:admin

服務(wù)器維護(hù)linux下git的安裝和使用

服務(wù)器維護(hù)小知識(shí)最近在使用github,感覺(jué)不錯(cuò)。在windows下,可使用github提供的windows客戶端()。很傻瓜,很方便。如何使用?詳見(jiàn):。(有圖是王道)最近發(fā)現(xiàn),在公司電腦上安裝github的windows客戶端時(shí),可能由于公司網(wǎng)絡(luò)限速和限流量限得太死,怎么也安裝不成功。在家的github windows的圖形客戶端的同步也經(jīng)常出問(wèn)題。沒(méi)辦法,也只能通過(guò)文本界面來(lái)連接github了。如果已在windows系統(tǒng)中成功安裝github的客戶端,則除了可使用圖形客戶端外,還可使用github bash這個(gè)文本客戶端。在我電腦上,當(dāng)圖形客戶端同步出現(xiàn)問(wèn)題時(shí),文客戶端還是能同步成功的。如果安裝不上github的客戶端,還可安裝其他的git bash來(lái)連接github,如msysgit ()等。因?yàn)橐陨宪浖际且詆it為基礎(chǔ)的,所以語(yǔ)法與linux使用的命令相同。
在linux下我僅使用了文本界面,所以安裝了個(gè)文本形式的git客戶來(lái)連接github。
服務(wù)器維護(hù)小知識(shí)1. 安裝git
我用的是centos系統(tǒng),在使用yum install git時(shí),系統(tǒng)提示沒(méi)有找到git包。所以,僅能通過(guò)以下方法來(lái)安裝git。方法詳見(jiàn):。以上方法中有一個(gè)問(wèn)題:方法中給出的git的下載源 似乎無(wú)效了,于是,我在網(wǎng)上的這里下載了個(gè)git的最新安裝包,安裝到了centos上。Linux下git的官方網(wǎng)址為: ,可能因?yàn)槲揖W(wǎng)慢打不開(kāi),不知道讀者您那里如何。如果打不開(kāi),可以在網(wǎng)上其他地方找找安裝包,應(yīng)該可以找到的。
服務(wù)器維護(hù)小知識(shí)2. 使用git連接github
使用git連接github時(shí),需要將linux下產(chǎn)生的一個(gè)ssh公鑰放到github上。具體步驟詳見(jiàn):。主要命令有:
ssh-keygen -t rsa -C"mail@mail.com"
然后系統(tǒng)提示輸入文件保存位置等信息,連續(xù)敲三次回車(chē)即可,生成的SSH key文件保存在中~/.ssh/id_rsa.pub文件中。
用文本編輯工具打開(kāi)該文件,在linux下可以用cat命令顯示id_rsa.pub中的內(nèi)容(cat  ~/.ssh/id_rsa.pub),讓后復(fù)制其內(nèi)容。
接著拷貝.ssh/id_rsa.pub文件內(nèi)的所以內(nèi)容,將它粘帖到github帳號(hào)管理中的添加SSH key界面中。
注意,使用vim讀取git_home/.ssh/id_rsa.pub中的公鑰內(nèi)容時(shí),可能會(huì)有較多的空格和換行,復(fù)制到github網(wǎng)站上時(shí)必需刪除。所以建議使用cat來(lái)讀取ssh公鑰。將ssh公鑰成功加入github后,可使用命令ssh -T git@github.com來(lái)驗(yàn)證是否成功。如果出現(xiàn)象:hi xxx. You've successfully authenticated, but GitHub does not provide shell access.則說(shuō)明連接成功。
非常不幸,我未能連接成功。可使用命令ssh -Tv git@github.com來(lái)查找failure的原因。通過(guò)詳細(xì)的debug過(guò)程,我發(fā)現(xiàn)象我把自己的ssh密鑰信息放到了/home/admin/.ssh/下,而測(cè)試時(shí)使用的賬戶是root,尋找ssh密鑰的路徑為root/.ssh,所以permission denied的啦。su到admin下,就可以連接成功啦~~
3. 使用git與github管理代碼
3.1 新建一個(gè)repository
這里就使用github官網(wǎng)上的教程吧。請(qǐng)保證git的版本至少為1.7.10,否則可能無(wú)法成功。詳細(xì)如何使用,請(qǐng)參見(jiàn):https://help.github.com/articles/set-up-git。linux下無(wú)法新建一個(gè)repo,只能對(duì)github中已有的repo進(jìn)行修改。所以,當(dāng)要新建一個(gè)repo時(shí),必須在github.com上新建,再通過(guò)linux下的git向此repo中新添內(nèi)容。
3.2 修改repo中的代碼
github的官網(wǎng)上也有修改repo代碼的教程。詳情請(qǐng)參見(jiàn):https://help.github.com/articles/fork-a-repo。簡(jiǎn)要步驟如下:
$git clone https://github.com/username/Spoon-Knife.git $cd Spoon-Knife $git add filename.py                          #添加文件到版本庫(kù) $git commit -m 'add filename.py to src'               #提交,產(chǎn)生版本記錄,注意代碼依然在本地 $vim README.md                             #修改Spoon-Knife中的README.md文件內(nèi)容 $git commit -m 'modify the README.md'                #提交,產(chǎn)生版本記錄,注意代碼依然在本地 $git [remote] rm filename1.py                    #刪除repo中的filename1.py文件 $git commit -m 'delete filename1.py'                  #提交,產(chǎn)生版本記錄,注意代碼依然在本地 $git push origin                             #將修改提交到github上
3.3 常用git命令
git help                                 #可查看git的常用命令 git config --global user.name "Your Name Here"           #設(shè)置commit的署名 git config --global user.email "your_email@example.com"      #設(shè)置commit的email git config [--local|--global|--system] --list/-l          #查看本地的global信息 git config [--local|--global|--system] --unset[-all] user.name  #刪除user.name信息。如果user.name對(duì)應(yīng)多個(gè)值,可用unset-all來(lái)刪除 git remote add XXX https://github.com/username/repo_name.git    #設(shè)置github的連接
git clone git://github.com/your_account/aimed_repo.git       #復(fù)制一個(gè)repo到本地
git remote -v                               #查看本地設(shè)置的url連接信息
git status                                 #查看當(dāng)前工作的
branch git branch                             #查看本地所有的
branch git branch -a                           #查看遠(yuǎn)程的所有分支
git branch -d branch_name                        #刪除本地branch_name這一分支
git push origin --delete branch_name                   #刪除名為branch_name的遠(yuǎn)程分支
git checkout branch_name                         #切換到名為branch_name的分支上
git chechout -b branch_name                       #在本地新建一個(gè)名為branch_nam的分支
git diff test_branch_name                        #查看當(dāng)前branch與test_branch_name中代碼的區(qū)別
git mv filename newfilename                      #文件重命名
git push XXX branch_name                        #上傳指定的branch到遠(yuǎn)端
git pull                                  #將遠(yuǎn)程上的版本與本地版本進(jìn)行合并,相當(dāng)于get fetch + git merge
git reset --hard                             #將剛才進(jìn)行的git pull所進(jìn)行的操作取消,恢復(fù)本地版本合并前的原貌
4. 如何刪除github上的repository
github頁(yè)面上刪除repo的功能比較隱蔽,得在這里表一表。比如,想刪除了一個(gè)名為python的repo。則需先點(diǎn)擊進(jìn)入“python”,單擊“Settings”,找到“Delete this repository”,確認(rèn)刪除即可。注意,github上的repo刪除后就不能恢復(fù)了哦~~
5. git clone/push時(shí)出現(xiàn)錯(cuò)誤提示:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed while accessing ...
服務(wù)器維護(hù)小知識(shí)這是由于ssl認(rèn)證出問(wèn)題引起的錯(cuò)誤。有兩種簡(jiǎn)單的解決方法:
1. 使用命令,成功執(zhí)行后,便可正常使用git clone和git push了
git config --global http.sslVerify false
2. 使用命令,但每次clone 和 push時(shí)都需要帶上env的部分。
env GIT_SSL_NO_VERIFY=true git clone https://github.com/XXXX/xxxxx.git
6. git push時(shí)出現(xiàn)錯(cuò)誤non-fast-forward時(shí)怎么辦?(來(lái)自:)
當(dāng)要push代碼到git時(shí),出現(xiàn)提示:
error:failed to push some refs to ...
Dealing with “non-fast-forward” errors
From time to time you may encounter this error while pushing:
$ git push origin master  
To ../remote/  
 ! [rejected]        master -> master (non-fast forward)  
error: failed to push some refs to '../remote/'  
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes before pushing again.  See the 'non-fast forward'
section of 'git push --help' for details.
This error can be a bit overwhelming at first, do not fear. Simply put, git cannot make the change on the remote without losing commits, so it refuses the push. Usually this is caused by another user pushing to the same branch. You can remedy this by fetching and merging the remote branch, or using pull to perform both at once.
In other cases this error is a result of destructive changes made locally by using commands like git commit --amend or git rebase. While you can override the remote by adding --force to the push command, you should only do so if you are absolutely certain this is what you want to do. Force-pushes can cause issues for other users that have fetched the remote branch, and is considered bad practice. When in doubt, don’t force-push.



問(wèn)題(Non-fast-forward)的出現(xiàn)原因在于:git倉(cāng)庫(kù)中已經(jīng)有一部分代碼,所以它不允許你直接把你的代碼覆蓋上去。于是你有2個(gè)選擇方式:
1,強(qiáng)推,即利用強(qiáng)覆蓋方式用你本地的代碼替代git倉(cāng)庫(kù)內(nèi)的內(nèi)容
git push -f
2,先把git的東西fetch到你本地然后merge后再push
$ git fetch
$ git merge
這2句命令等價(jià)于
$ git pull  
可是,這時(shí)候又出現(xiàn)了如下的問(wèn)題:
上面出現(xiàn)的 [branch "master"]是需要明確(.git/config)如下的內(nèi)容
[branch "master"]
    remote = origin
merge = refs/heads/master
服務(wù)器維護(hù)小知識(shí)這等于告訴git2件事:
1,當(dāng)你處于master branch, 默認(rèn)的remote就是origin。
2,當(dāng)你在master branch上使用git pull時(shí),沒(méi)有指定remote和branch,那么git就會(huì)采用默認(rèn)的remote(也就是origin)來(lái)merge在master branch上所有的改變
如果不想或者不會(huì)編輯config文件的話,可以在bush上輸入如下命令行:
$ git config branch.master.remote origin  
$ git config branch.master.merge refs/heads/master  
之后再重新git pull下。最后git push你的代碼吧。it works now~
 
IT運(yùn)維  我們選擇北京艾銻無(wú)限
以上文章由北京艾銻無(wú)限科技發(fā)展有限公司整理



相關(guān)文章

IT外包服務(wù)
二維碼 關(guān)閉
主站蜘蛛池模板: 乌克兰18极品XX00喷水 | 亚洲中文有码字幕日本 | 水莓100在线视频 | 亚洲国产精品成人久久蜜臀 | 十六以下岁女子毛片免费 | 亚洲爆乳WWW无码专区 | A级毛片内射免费视频 | 欧美日韩在线亚洲一区蜜芽 | 小13箩莉黄瓜自慰喷白浆 | 国产成人综合野草 | 四虎永久在线精品免费看 | 欧美精品日本 | 久久丁香五月丁中文精品 | 人人爽天天碰天天躁夜夜躁 | 免费的成人A级毛片 | 羞羞午夜爽爽爽爱爱爱爱人人人 | 韩国三级中文字幕HD | 中国6一12呦女精品 男人a天堂2814 | 国产在线看片免费人成视频97 | 沈阳熟女露脸对白视频 | 日韩欧美一区二区三区无码 | 少妇被猛男粗大的猛进出 | 秋霞午夜无码鲁丝片午夜精品 | 国产成+人欧美+综合在线观看 | 四虎久久精品国产亚洲a v | 一色桃子av一区二区 | 免费看女人的隐私超爽 | 色婷婷激婷婷深爱五月 | 一级爽片| 伊人色综合视频一区二区三区 | 爆乳3把你榨干哦ova在线观看 | 中文精品无码中文字幕无码专区 | 国産精品久久久久久久 | 久久久久亚洲AV综合波多野结衣 | chinese白浆高潮videos | 国产精品自在线拍国产手青青机版 | 老师好湿好紧我要进去了在线观看 | 精品久久久久久中文字国产 | 性奴老师穿乳环上锁野外调教 | 国产va在线视频 | 日韩精品无码成人专区 |