關(guān)于git的一些指令及遇到的問題和解決方法

git 代碼托管

一,git安裝

去Git官網(wǎng)上下載安裝即可

二,ssh -key配置

1. 檢查是否已經(jīng)有SSH Key。
    $cd ~/.ssh   //如果說沒有這個(gè)目錄,就直接看第三步
2. 備份
3. 生成一個(gè)新的SSH。

$ssh-keygen -t rsa -C "email" ("email" git賬號(hào))
之后直接回車,不用填寫東西。之后會(huì)讓你輸入密碼。然后就生成一個(gè)目錄.ssh ,里面有兩個(gè)文件:id_rsa , id_rsa.pub

4. 把這個(gè)SSH放到github上。用公鑰。先在GitHub上注冊(cè)一個(gè)用戶,然后進(jìn)入account-setting ,把id_rsa.pub的內(nèi)容復(fù)制進(jìn)去就可以了。

用記事本打開id_rsa.pub文件,復(fù)制內(nèi)容,在github.com的網(wǎng)站上到ssh密鑰管理頁(yè)面,添加新公鑰,隨便取個(gè)名字,內(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è)置郵箱地址(建議用注冊(cè)giuhub的郵箱)

四,測(cè)試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是密碼為空則無(wú)此項(xiàng),若設(shè)置有密碼則有此項(xiàng)且,輸入生成ssh key時(shí)設(shè)置的密碼即可。

Hi xxx! You've successfully authenticated, but GitHub does not provide shell access. #出現(xiàn)此句話,說明設(shè)置成功。

五,git指令

1.克隆代碼
git clone 地址
2.提交
//先放進(jìn)本地倉(cāng)庫(kù)
git add .
git commit -m '本次提交備注'
git status    //查看倉(cāng)庫(kù)狀態(tài)
3.推到遠(yuǎn)程倉(cāng)庫(kù)
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)時(shí)間點(diǎn)的哈希值
6.分支操作

https://jingyan.baidu.com/article/48206aea68e69f216ad6b33f.html

 git branch     //顯示分支一覽表,同時(shí)確認(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 '填寫一個(gè)合并的信息'         //再將指定分支合并到當(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)程倉(cāng)庫(kù)中也就創(chuàng)建了一個(gè)test分支

六,一些遇到的報(bào)錯(cuò)

1.同一份文件,在你提交時(shí),有人比你更早更新了文件并上傳,使你的本地文件并非最新。因此,在你想上傳自己修改后的文件時(shí),第一步git pull時(shí),會(huì)報(bào)如下錯(cuò)誤:
    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ù)自己的本地修改
提示有無(wú)沖突
若有沖突,則解決沖突
若無(wú),則直接提交
git add .
git commit -m "comments"

2.當(dāng)前分支與遠(yuǎn)程分支沒有建立關(guān)聯(lián),提示運(yùn)行 git push --set-upstream origin master2 與遠(yuǎn)程倉(cāng)庫(kù)建立關(guān)聯(lián),運(yù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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. 安裝 Github 查看是否安裝git: $ git config --global user.name "...
    Albert_Sun閱讀 13,852評(píng)論 9 163
  • Git的使用 首先登錄https://git.oschina.net,如沒有賬號(hào)進(jìn)行注冊(cè). Git簡(jiǎn)單介紹 Git...
    Sunney閱讀 755評(píng)論 0 2
  • 聲明:這篇文章來源于廖雪峰老師的官方網(wǎng)站,我僅僅是作為學(xué)習(xí)之用 Git簡(jiǎn)介 Git是什么? Git是目前世界上最先...
    橫渡閱讀 4,139評(píng)論 3 27
  • 第一部分:Git的基本操作 初始化操作 $ git config -global user.name #設(shè)置提交...
    莊欲以莘閱讀 2,097評(píng)論 0 4
  • 還是老規(guī)矩,這篇看完后,還是學(xué)不會(huì)git版本控制的,你來砍我 是兄弟就來砍我吧!??! Git是分布式版本控制系統(tǒng),...
    Zteen閱讀 3,595評(píng)論 0 6

友情鏈接更多精彩內(nèi)容