1. 程式人生 > >Windows與git、github

Windows與git、github

第一步:下載安裝git bash

網上教程很多。由於本機安裝Docker Toolbox時預設安裝了git bash,故在此不再贅述。

第二步:開啟git bash

ssh-keygen –t rsa –C “郵箱地址” ,然後一路回車

第三步:找出ssh key

根據上一步中的提示,進入C:\Users\Jay\.ssh,找到id_rsa.pub,記事本開啟,全選複製

第四步:貼上到你的github

登入你的github,進入Settings->SSH and GPG keys->newSSHkey ,title隨便取,key的框中貼上剛才複製的內容,確定

第五步:驗證連線

$ssh –T [email protected]

第一次失敗!命令列中ping github.com也不通。

照著網上的教程進行第二種嘗試:$ssh –t -p 22 [email protected]再次失敗!

看到IP為13.229.188.59,想會不會是IP的問題?GitHub上有人說這個IP在192.30.252.0192.30.255.255之間的話是沒關係的。

第六步:換種方法再來

進入之前的資料夾,C:\Users\Jay\.ssh,新建一個沒有後綴的檔案,取名config,裡面寫入:

Host github.com  
User git  
Hostname ssh.github.com  
PreferredAuthentications publickey  
IdentityFile ~/.ssh/id_rsa  
Port 443

如圖所示:

然後再次$ssh –T [email protected]

終於成功了,注意T與t。關於“PTY allocation request failed on channel 0”,找到的回答上說是偽終端的問題,現在還有些迷……

第七步:初始化本地倉庫

建立一個資料夾,進入資料夾,右鍵單擊,Git bash here,然後$git init即可,發現多了個master字樣

進入資料夾,並設定顯示隱藏項,可以看到.git的資料夾,再次印證初始化成功了

第八步:“上傳”“下載”起來

新增遠端倉庫(github上的倉庫),並簡稱為origin

$git remote add origin [email protected]: youraccountname/yourrepositoryname.git

如果提示“fatal: remote origin already exists.”,則

$ git remote rm origin

$ git remote -v

再次$git remote add origin [email protected]: youraccountname/yourrepositoryname.git

$ git fetch origin 從遠端倉庫抓取資訊

$ git remote show origin  顯示遠端倉庫資訊

$ git push -u origin master 在本地不為空的情況下,把本地的 master 分支推送到遠端origin伺服器上

根據提示:

$git config –global user.name “你的使用者名稱”

$git config –global user.email “你的郵箱” 

完成初始化,可以檢視是否完成:

$git config --list

看一下是不是包含剛才配置的資訊

再次$ git commit -m "第一次提交"

$ git push -u origin master 推送,如報錯:

$ git push -u origin master -f    這樣會使遠端修改丟失,一般是不可取的,尤其是多人協作開發的時候。

$ git push origin master   之後就能這樣推送了

$ git log       檢視歷史版本記錄

$ git log --pretty=oneline     檢視歷史版本號

$ git log --graph --pretty=oneline --abbrev-commit   檢視版本分支

$ git reset --hard HEAD^    回退版本,HEAD當前版本,HEAD^上一個版本,HEAD^^上上一個版本,HEAD~100往上100個版本

$ git reset --hard 版本號

$ git reflog 檢視歷史命令(尤其適用於重啟命令列後找不到版本號的命令回退)

$ git status 檢視狀態

$git diff HEAD -- readme.txt   檢視版本區最新版本與工作區的區別

$git checkout -- filename  撤銷或丟棄工作區更改

$git reset HEAD <file>   把暫存區的修改撤銷掉(unstage),重新放回工作區

$git reset --hard 版本號   版本回退,這是有條件的,就是你還沒有把自己的本地版本庫推送到遠端

$git rm filename  從版本庫中刪除檔案

$ git clone [email protected]:Youraccount/Yourrepository.git

$ git branch dev  建立dev分支

$ git checkout dev  切換到dev分支

$ git checkout -b dev  建立並切換到dev分支

$ git branch 檢視當前分支

$ git merge dev        把dev分支的工作成果合併到master分支上

$ git branch -d dev   刪除dev分支

$ git branch -D dev  強行刪除dev分支

$ git merge --no-ff -m "merge with no-ff" dev    合併dev分支,--no-ff引數表示禁用Fast forward

$ git stash          儲存現場

$ git stash pop        恢復現場

$ git stash list    檢視儲存的現場列表

$ git stash apply [email protected]{0}       用$ git stash list檢視後恢復指定現場

$ git pull     將當下工作區中已有的檔案按遠端版本更新

如果git pull提示no tracking information,則說明本地分支和遠端分支的連結關係沒有建立,用命令git branch --set-upstream-to oringin/<branch-name> <branch-name>或者git pull <remote> <branch>

$ git rebase  把本地未push的分叉提交歷史整理成直線

$ git tag v1.0   打一個新標籤,預設標籤是打在最新提交的commit上

$ git tag  檢視標籤列表

$ git tag v0.9 f52c633     打一個新標籤到指定版本上

$ git show v0.9  檢視版本資訊

$ git tag -a v0.1 -m "version 0.1 released" 1094adb   給指定版本打標籤並新增說明

$ git tag -d v0.1  刪除標籤

$git push origin <tagname>   推送一個本地標籤

$git push origin --tags             推送全部未推送過的本地標籤

$git tag -d <tagname>      刪除一個本地標籤

$git push origin :refs/tags/<tagname>        刪除一個遠端標籤

$git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"                 設定一個喪心病狂的別名命令:git lg

第九步:推送歷史檔案到遠端倉庫

(1)新建本地資料夾test,在遠端倉庫上新建倉庫Test(不要初始化!!!)

(2)進入test右鍵git bash here

(3)$ git init

(4)$ git remote add origin [email protected]: youraccountname/yourrepositoryname.git

(5)歷史檔案複製貼上到test下(注意要先初始化再貼上)

(6)$ git add …   再$ git commit -m "……" 

(6)$ git push -u origin master

重新整理網頁即可發現上傳成功了

(7)如果(6)執行後報錯(通常出現在遠端倉庫初始化並寫入了read.md的情況),請重新建立遠端倉庫且不要初始化,或者可以按提示操作。也有幾種方法:①可能會用到$git pull和$git pull --allow-unrelated-histories命令,②或者選用$git push -u origin master -f 強制推送,③或者切換分支再push。

第十步:克隆或下載一個倉庫下單個資料夾

Git1.7.0以後加入了Sparse Checkout模式,這使得Check Out指定檔案或者資料夾成為可能。

舉個例子:

(1)$git init test && cd test                                            //新建test倉庫並進入資料夾

(2)$git config core.sparsecheckout true                                   //設定允許克隆子目錄

(3)$echo 'student-admissions*' >> .git/info/sparse-checkout             //設定要克隆的倉庫的子目錄路徑

(5)$git pull origin master                                                                                      //下載

進入資料夾發現克隆成功

相關推薦

Windowsgitgithub

第一步:下載安裝git bash 網上教程很多。由於本機安裝Docker Toolbox時預設安裝了git bash,故在此不再贅述。 第二步:開啟git bash ssh-keygen –t rsa –C “郵箱地址” ,然後一路回車 第三步:找出ssh

Windows上的gitgithub部署及基本使用方法

  1、介紹     Git是一個開源的分散式版本控制系統,可以有效、高速地處理從很小到非常大的專案版本管理。Git 是 Linus Torvalds 為了幫助管理 Linux 核心開發而開發的一個開放原始碼的版本控制軟體。     Git 與常用的版本控制工具 CVS, Subversion

GitGitHubGitLab】一 Git安裝Git最小配置

Git學習開始,雖然只是工具。 文章目錄 1 Git安裝 2 檢查Git安裝版本 3 Git的最小配置 4 git config的其它作用域 5 總結

Windowsgit連線GitHubgithub.com)碼市(coding.net)碼雲(gitee.com)

1、安裝git與註冊 git下載安裝及簡單使用請參考:傳送門 在三個網站分別進行註冊,本人比較懶,使用相同的使用者名稱、郵箱及密碼進行註冊 2、設定公鑰 git生成公鑰鑰,使用如下命令: $ ssh-keygen -t rsa -C "[email&#

GitGithubTortoiseGit 的關係具體操作

Git是客戶端,TortoiseGit是視覺化操作工具,Github是遠端倉庫伺服器 本地倉庫:本地檔案系統 遠端倉庫:Github伺服器 一、最常用操作: 1、pull:其實是fetch與Merge兩個命令的合併:把遠端倉庫的更新同步到本地倉庫。 2、commit and

Git(二)Git幾個區的關系GitGitHub的關聯

備份 gpo 技術分享 tin 2.3 div 自動 泄露 blog 前言   前面只是大概的介紹了一點基礎的東西,接下來會更加深入的去了解一下Git。 一、Git的工作區、暫存區和版本庫之間的區別和聯系   1)工作區     在PC中能看得到的創建的一個管理倉庫

GitGitHubGitLab三者之間的聯系以及區別

展示 查看 tlab 如果 存儲 ner 訪問 出現 分布式 在講區別以及聯系之前先簡要的介紹一下,這三者都是什麽(本篇文章適合剛入門的新手,大佬請出門左轉) 1.什麽是 Git? Git 是一個版本控制系統。 版本控制是一種用於記錄一個或多個文件內容變化,方便我們查閱特定

gitgithub命令學習

一、放棄本地修改,直接拉去網路最新版本 git fetch --all git reset --hard origin/master git pull //可以省略 git fetch 指令是下載遠端倉庫最新內容,不做合併  git reset 指令把HEAD指向master最新版

你瞭解GitGithub以及碼雲嗎

簡介: 在本篇文章,瀏覽了許多Git、Github和碼雲的資訊,加以自己的總結寫出來的這些文章,希望對於大家瞭解Git、Github和碼雲有一定的幫助。 一、Git軟體 Git(/gɪt/)是一款免費、開源的分散式版本控制系統。那麼什麼是版本控制系統? 舉一個通

關於gitgithubgitlab

git,github,gitlab區別 工作原因需要搭建一個git,由我們很少的幾個人來使用,網上查詢資料發現對git一無所知,最後發現git,github,gitlab之間的區別和使用,現在準備先使用github來完成一些工作上的需要,後期再換成gitlab來

GitGitHubGitLab】二 Git基本命令之建立Git倉庫

上一篇文章學習了Git的安裝與最小配置:【Git、GitHub、GitLab】一 Git安裝與Git最小配置 文章目錄 建立Git倉庫 建立Git倉庫 有兩種方式可以建立Git倉庫

IntelliJ-IDEA和GitGitHubGitlab的使用(五)

IntelliJ-IDEA版本控制介紹,主要講述git 一、基本入門 1.IntelliJ-IDEA預裝的版本控制介紹 我們來看IntelliJ-IDEA的版本控制設定區域 開啟File>Settings>Version Co

GitGitHubGitLab】三 Git基本命令之建立倉庫並向倉庫中新增檔案

前兩篇文章已經學會了Git的基本命令與建立倉庫的命令,點選連結檢視上一篇文章:【Git、GitHub、GitLab】二 Git基本命令之建立Git倉庫,本篇文章就來建立一個有模有樣的倉庫。該倉庫中的程式碼是一個顯示靜態頁面的小工程程式碼。 文章目錄

初識Git——GitGithubGitee的關係

想要自己做一些有意義的東西,甚至去參加一些網際網路比賽,就必須要學會使用Git。最初瞭解Git,同時聽到了Git、Github、Gitee(碼雲),於是竭力想要弄明白三者之間的區別與聯絡,經過一番搜尋,先將所得結果整理如下,供以後參看: Git是一種東西,在本地的,可以安裝

Git | 一篇文章搞定GitGitHub的理解和使用(學習筆記)

Git learning note 本筆記整理自廖雪峰老師的Git教程,加上了自己的實踐結果和一些理解,旨在使科研工作者(基本上是獨立開發的那種)看完就能理解和使用Git。廖老師的教程生動活潑,條理清晰,推薦閱讀。還可以贊助哦。 目錄 Git 簡

gitgithubgitlab之間的關係

Git - 版本控制工具 Github - 一個網站,提供給使用者空間建立git倉儲,儲存使用者的一些資料文件或者程式碼等 GitLab - 基於Git的專案管理軟體 Git是一款自由和開源的分散式版本控制系統,用於敏捷高效地處理任何或小或大的專案。 Git -

[教程]如何使用gitGitHub和gitee?

方便 解決 gpg 老板 總結 不用 宋體 con 兩個 關鍵字:git、GitHub、gitee、clone、遠程倉庫 前言:為什麽要使用git? 從一般開發者的角度來看,git有以下功能: 1、從服務器上克隆完整的Git倉庫(包括代碼和版本信息)到單機上。 2、

Git版本控制 Gitgithub,gitlab相關操作

目錄關於版本控制版本管理工具集中式管理分散式管理git版本管理git介紹軟體安裝Git工作狀態原理流程步驟git基本操作對檔案進行修改分支共享倉庫建立共享倉庫:共享倉庫上傳程式碼從共享倉庫下拉程式碼解決衝突解決衝突gitLab操作配置ssh金鑰gitHub操作 和gitLab大同小異開發工具中git使用提交檔

WindowsGit的安裝配置

lan 版本說明 鎖定 檢出 圖形 客戶 ads 姓名 官方網站 一、下載Git安裝包   1、打開Git的官方網站:https://git-scm.com/   2、找到下載頁:https://git-scm.com/downloads   3、找到Windows版本下載

GitGitlabGithub區別

Git 是一種版本控制系統,是一個命令,是一種工具 Github,Gitlab等產品都是第三方基於git這項技術開發的 Github 是一個基於git實現的線上程式碼倉庫,包含一個網站介面,向網際網路開放 Gitlab 是一個基於git實現的線上程式碼倉庫軟體,你可以用git