這世上最好的聘禮,就是你對我一生的遷就。
git 上傳引發(fā)的問題 -- 適用小白
一般而言,咱們使用git來管理代碼,首先肯定是先初始化倉庫,這個(gè)沒得說
我呢將每一步進(jìn)行細(xì)化,因?yàn)槲覄倢W(xué)的時(shí)候也不是很懂所以寫此文章,希望能幫助大家
1.首先全局安裝git,window + r打開cmd(黑窗口)
1. git init
// 進(jìn)行初始倉庫
// 在git-demo目錄中 初始化了一個(gè)空的git倉庫
// .git文件夾默認(rèn)是隱藏的 可以通過查看 點(diǎn)擊影藏項(xiàng)目 查看文件
2. git add .
// 將文件提交到暫存區(qū),很多人知道這個(gè)命令這么敲,但是不知到是什么意思
// 一個(gè)文件如果暫存區(qū)中沒有 那么說明git還沒有管理這個(gè)文件
// 而這里的 git add . 是將文件中的所有文件進(jìn)行提交
// 如果是單個(gè)文件就將 . (點(diǎn)) 替換為文件名
3. git status
// 查看倉庫狀態(tài)
// No commits yet 當(dāng)前倉庫中還沒有任何提交
// nothing to commit working tree clean 目前還沒有任何文件可提交 工作目錄是干凈的
// Untracked files: 未跟蹤文件列表(沒有被git管理的文件列表)
// 查看倉庫狀態(tài)的時(shí)候 git默認(rèn)會(huì)忽略空目錄 如果想讓git管理空目錄 需要在空目錄中建立占位文件 約定的名字為.gitkeep
4. git commit -m 提交注釋
// 將暫存區(qū)中的代碼提交到代碼倉庫
// 這里的注釋不用加引號(hào),當(dāng)然也可以寫中文
// * 如果你是在第一次使用git的時(shí)候 需要配置用戶信息 否則git不允許提交代碼到倉庫中 *
// 接下來配置用戶信息
5.git config --global user.name 用戶名
git config --global user.email 郵箱
// 上面這兩步一步都不能少,可以進(jìn)行單獨(dú)輸入,這里的用戶名就是你注冊的時(shí)候你的用戶名,郵箱也是,可前往別寫錯(cuò)了,如果記不住,就寫在一個(gè)備忘錄中, 因?yàn)槲揖筒冗^這個(gè)坑
// --global 全局配置 當(dāng)前配置完成以后 做其他項(xiàng)目的時(shí)候就不需要再次配置了
6. git config --list 查看git配置信息
// 用戶信息實(shí)際上是被配置在了.gitconfig文件中, 文件在用戶目錄下面
// C:\Users\humisel\.ssh 也就是這個(gè)路徑了
7. git log
// 查看提交的歷史記錄
// 在這里面可以查看你一共提交了幾次,每一次的注釋以及時(shí)間,因?yàn)樵诖蠊局?,每個(gè)都會(huì)被公司馮導(dǎo)一個(gè)git賬號(hào)出現(xiàn)了什么問題是要追究個(gè)人的
8. 文件名字 .gitignore
// 為項(xiàng)目添加忽略清單文件
// 可以在忽略清單文件中指定哪些文件不需要被管理 那么指定的文件就不會(huì)出現(xiàn)在未跟蹤列表中,也不會(huì)進(jìn)行g(shù)it上傳
9. git checkout 文件列表
// 用暫存區(qū)中的文件覆蓋工作目錄中的文件,如果你剛才寫的代碼有問題,不想要了,但是又撤回不回去,此時(shí)就用到了這個(gè)命令
10. git rm --cached 文件列表
// 將文件從暫存區(qū)中刪除,其實(shí)是有這個(gè)命令,但是呢用不到,也不要去嘗試,應(yīng)為iye不知到自己寫的代碼什么時(shí)候就會(huì)出現(xiàn)問題,以便回滾代碼
11. git reset --hard commitID
// 這一步就是將代碼進(jìn)行回滾,將倉庫中某一次提交的代碼覆蓋工作目錄和暫存區(qū),不明白沒關(guān)系,最后我會(huì)附上一張圖進(jìn)行解釋
12. 分支
// 1. 什么叫分支? 分支就是對當(dāng)前代碼的一份拷貝 當(dāng)前代碼 => 文件 + 提交歷史
// 2. 創(chuàng)建分支 git branch 分支名稱 => 創(chuàng)建分支 git branch => 查看分支
// 在大公司有的時(shí)候徐婭創(chuàng)建分支,因?yàn)槟悴荒苤苯釉谥鞣种厦嫘薷模?主分支不是給你用的,當(dāng)然如果你是自己使用git,那就無所謂了
13. git checkout 分支名稱 => 切換分支
// 創(chuàng)建分支后切換分支
// * 注意:在當(dāng)前分支開發(fā)完成以后一定要提交代碼 否則不允許切換分支 *
14. git merge 分支名稱
// 合并分支,他會(huì)將子分支合并到主分支上
15. git branch -d 刪除分支
// 合并玩的分支就沒有用了 此時(shí)就需要將其刪掉
// 默認(rèn)情況下 git不允許刪除一個(gè)未合并的分支
// 強(qiáng)制刪除未合并的分支使用 git branch -D 分支名稱 注意: 這里的 D 是大寫的
16. * 注意 *
// 在主分支還沒有任何提交的時(shí)候 是不能創(chuàng)建其他分支的
上面的操作呢都是在本地進(jìn)行操作,接下來就要進(jìn)行上傳代碼了, 不管是哪一步出錯(cuò)了,先不要管,這是基本步驟,發(fā)生的錯(cuò)誤我會(huì)在下面進(jìn)行講解
// 首先你得先創(chuàng)建一個(gè)git倉庫
// 接下進(jìn)行操作
1. git push 遠(yuǎn)程倉庫地址 本地分支名稱:遠(yuǎn)程分支名稱 // master:master => master
對。就是這一步,出錯(cuò)了,
git@github.com: Permission denied (publickey). fatal: Could not read from re...
Please make sure you have the correct access rights and the repository exists....
他會(huì)報(bào)這么一個(gè)錯(cuò),什么意思呢 ?
請確保您擁有正確的訪問權(quán)限和存儲(chǔ)庫存在。
這就很是尷尬,我哪知道是啥意思啊
于是當(dāng)時(shí)的我就開始各種百度,但是無濟(jì)于事,各種 csdn 都是一個(gè)模子的,復(fù)制粘貼,于是我決定自己搞
先往下看
2. git remote add 別名 別名對應(yīng)的地址
// 為遠(yuǎn)程倉庫地址添加別名 就是為了更方便的使用
// 這里的倉庫地址 github 上面提供了兩個(gè),一個(gè)是https 還有一個(gè)是 ssh 咱們使用 https
3. git push origin master
// 將代碼進(jìn)行提交 , 這里的 * origin * 就是你創(chuàng)建的別名,你如果用的不是這個(gè)別名,就將你寫的別名填寫到這里
// 這里也是我踩過的一個(gè)坑,當(dāng)時(shí)我那知道這是別名啊,哈哈
4. git push -u origin master
// 使命令行記住提交地址與分支名稱,后面就不需要寫前面寫的了,一行命令直接搞定
5. git push
// 這就是我所說的一行命令直接搞定,
// 當(dāng)你修改了代碼的時(shí)候,這個(gè)命令就ok
windows系統(tǒng)默認(rèn)會(huì)記住提交的密碼,其他的系統(tǒng)我就不知道了,因?yàn)橐矝]有用過
可以在這里面找到
**控制面板 => 用戶賬戶 => 管理你的憑據(jù) => windows憑據(jù) **
在這里面會(huì)又一個(gè)GitHub的賬號(hào)里面會(huì)記錄你的賬號(hào)以及密碼
這里就是我遇到的問題了
當(dāng)我和遠(yuǎn)程倉庫進(jìn)行配對的時(shí)候,就會(huì)報(bào)這個(gè)錯(cuò)
remote: Permission to webldx/7-.git denied to 我的倉庫名.
fatal: unable to access 'https://github.com/我的倉庫地址/': The requested URL returned error: 403
大概意思就是: 遠(yuǎn)程:webldx/7-的權(quán)限。******。
致命錯(cuò)誤:無法訪問'https://github.com/webldx/7-.git/':請求的URL返回錯(cuò)誤:403
翻譯過來是這個(gè)意思,然后不管它 進(jìn)行下一步
git remote add 別名 別名對應(yīng)的地址 也就是起別名
然后,對這時(shí)報(bào)了一個(gè)這樣的錯(cuò)
Please make sure you have the correct access rights and the repository exists
翻譯過來大概意思就是:請確保您擁有正確的訪問權(quán)限和存儲(chǔ)庫存在
沒有權(quán)限,但是在操作這一步的上一步的時(shí)候,它已經(jīng)提示我登陸我的GitHub的賬號(hào)了,并且密碼也輸入過了,反復(fù)試了幾次都不好使,然后將倉庫刪除重建都試過了,但還是不行了就差改密碼了換賬戶了
還記得我上面的寫的一句話嗎?
**控制面板 => 用戶賬戶 => 管理你的憑據(jù) => windows憑據(jù) **
就是這個(gè)地方搞得鬼,因?yàn)樗呀?jīng)記住那個(gè)錯(cuò)的賬號(hào)和密碼了,所以你就會(huì)一直登不上去
直接刪掉,不要思索,刪掉之后,將遠(yuǎn)程倉庫刪掉,重新登陸GitHub,重建倉庫,
將郵箱與密碼進(jìn)行重新綁定,就可以了,其實(shí)最主要的就是將那個(gè)憑證刪除?。?!
如何創(chuàng)建GitHub,私人博客我的博客中有
[超鏈接名](超鏈接地址 "超鏈接title")
在最后附上我的QQ: 2489757828 可以一同探討問題
我的私人博客: 李大玄