一、首先設置賬戶名和郵箱(和GitHub保持一致)
1.$ git config --global user.name "Your Name" //設置賬戶名
2.$ git config --global user.email "[email protected]" //設置郵箱
二、創建本地倉庫(例如我在G盤創建一個本地倉庫)
1.首先在桌面打開Git Bash
2.$ cd G: //打開G盤,也可以直接在G盤中打開Git Bash
3.$ mkdir GitProject //在G盤通過mkdir創建GitProject倉庫(Git不可管理倉庫)
4.$ cd GitProject //在G盤下進入GitProject倉庫
5.pwd //顯示當前倉庫目錄(會出現/g/java)
6.git init //把GitProject變成Git可管理的倉庫
三、本地機器關聯GitHub(SSH Key)
1.創建SSH Key,用於本地Git倉庫和GitHub倉庫之間的加密,或者說傳輸的鑰匙
2.$ ssh-keygen -t rsa -C "4******[email protected]" 在C盤下創建.ssh文件夾,裏面有id_rsa和id_rsa.pub兩個文件,SSH Key放在這裏 面(和你的Git是否安裝在C盤沒有關聯),目錄在用戶下面。
3.登陸GitHub,打開“settings”->“SSH Keys”頁面
4.點“Add SSH Key”,填上任意Title,在Key文本框裏把.ssh目錄下id_rsa.pub文件拖拽進來,複製全部代碼,返回黏貼到Key文本框中,點擊ADD添加
四、本地倉庫關聯到遠程倉庫
1.登陸GitHub,然後,在右上角找到“Create a new repo”按鈕,創建一個遠程倉庫
2.在Repository name填入一個隨便的倉庫名稱,當然最好是你的項目名稱,其他保持默認設置,點擊“Create repository”按鈕,就成功地創建了一個新的Git倉庫
3.遠程倉庫創建好以後,會出現如下提示
git init
git add README.md
git commit -m "first commit"
git remote add origin https://github.com/re512/c++.git
git push -u origin master
4.在本地倉庫內右擊選擇Git Bash,打開Git Bash我們按着提示來,但是要在git init後加入touch README語句 //必須在要和遠程倉庫匹配的倉庫內運行Git Bash
5.輸入git init後,再輸入touch README,然後就按着提示,複製粘貼上述語句代碼即可
6.輸入完最後一段語句後,如果成功會提示輸入Username和Password,填寫GitHub的用戶名和密碼,注意password在輸入時是看不見的,所以不要懷疑電腦有問題,輸入後回車即可
7.關聯完成後,刷新一下GitHub,你會發現剛剛創建的遠程庫變成看項目的形式,此時就可以把本地庫的所有內容推送到遠程庫上
五、將本地庫的修改提交到遠程庫(例如添加一個文件)
1.在倉庫內放一個文件
2.在本地倉庫內打開Git Bash
3.然後依次輸入
git init
git remote add origin xxxx.git //xxx.git(就是你在遠程github上創建資源http地址)
git add --all //添加
git commit -m "更改的內容說明,比如:添加了text文件說明" //本地庫修改
git push origin master //提交到遠程庫
4.中間遇到的某些提示不用管,最後一句輸入後如果出現填寫用戶名和密碼就說明操作沒問題
5.輸入完用戶名和密碼,等進度條都是100%後就上傳成功,刷新一下遠程倉庫,就可以看到上傳的內容
六、從遠程庫克隆創建本地庫(只能克隆自己的遠程庫或者被拉入的項目的遠程庫,來創建本地庫)
1.先有本地庫,後有遠程庫,這樣你可能覺得煩,那麼遠程庫克隆就可以直接在本地創建本地庫
2.假設我們從零開發,那麼最好的方式是先創建遠程庫,然後,從遠程庫克隆。
3.登陸GitHub,創建一個新的倉庫,創建時一定要勾選Initialize this repository with a README
4.打開你希望克隆在本地機器的哪個盤,如果直接運行Git Bash,將默認爲C盤,比如我想克隆到G盤,我就打開G盤後運行Git Bash
5.輸入$ git clone https://github.com/r43ssu/java.git(https://。。。。。。這是你創建的遠程庫的地址,創建後GitHub上會顯示)
6.克隆完成,本地就產生一個本地庫,且庫名和遠程庫庫名相同
七、把別人的遠程庫的代碼克隆到本地庫中(不能通過遠程庫克隆創建本地庫)
1.提前創建好本地庫(詳細見二中的說明)
2.找到你要克隆的項目,點擊項目右上角的Fork,然後再複製Fork後的項目鏈接
2.在本地庫中打開Git Bash
3.$ git clone https://github.com/5132u/bootstrap.git(5132u這個位置應該顯示的是你的用戶名,一定要從自己的賬號下clone倉庫,這樣你才能推送修改。如果從作者的倉庫地址[email protected]:twbs/bootstrap.git克隆,因爲沒有權限,你將不能推送修改。)
八、Git中常用的語句
1.$ git status //git status命令可以讓我們時刻掌握倉庫當前的狀態
2.$ git diff 文件名 //查看文件是如何修改的,例如:$ git diff readme.txt
3.$git log //顯示最近的修改到最遠的修改
4.$git reset --hard HEAD^ //回退到上一個版本,HEAD表示當前,HEAD^表示上一個,HEAD^^表示上上個,如果回退太多,就用HEAD~n,n指回退多少
5.$ git reflog //用來記錄你的每一次命令
6.git branch //查看分支:
7.git branch <name> //創建分支:
8.git checkout <name> //切換分支:
9.git checkout -b <name> //創建+切換分支:
10.git merge <name> //合併某分支到當前分支:
11.git branch -d <name> //刪除分支:
12.git stash //把當前工作現場“儲藏”起來,等以後恢復現場後繼續工作
13.git stash list //查看剛纔用git stash儲藏的工作現場工作現場發現工作分支還在
Git把stash內容存在某個地方了,但是需要恢復一下,有兩個辦法: 一是用git stash apply恢復,但是恢復後,stash內容並不刪除,你需 要用git stash drop來刪除;
另一種方式是用git stash pop,恢復的同時把stash內容也刪了:
你可以多次stash,恢復的時候,先用git stash list查看,然後恢復指 定的stash,用命令:$ git stash apply stash@{0}
推送分支
推送分支,就是把該分支上的所有本地提交推送到遠程庫。推送時,要指定本地分支,這樣,Git就會把該分支推送到遠程庫對應的遠程分支上:
$ git push origin master
如果要推送其他分支,比如dev,就改成:
$ git push origin dev
但是,並不是一定要把本地分支往遠程推送,那麼,哪些分支需要推送,哪些不需要呢?
master分支是主分支,因此要時刻與遠程同步;dev分支是開發分支,團隊所有成員都需要在上面工作,所以也需要與遠程同步;
抓取分支
多人協作時,大家都會往master和dev分支上推送各自的修改。
因此,多人協作的工作模式通常是這樣:
首先,可以試圖用git push origin branch-name推送自己的修改;
如果推送失敗,則因爲遠程分支比你的本地更新,需要先用git pull試圖合併;
如果合併有衝突,則解決衝突,並在本地提交:先用git pull把最新的提交從origin/dev抓下來,
如果git pull也失敗了,原因是沒有指定本地dev分支與遠程origin/dev分支的鏈接,根據提示,設置dev和origin/dev的鏈接:$ git branch --set-upstream dev origin/dev,然後再pull
沒有衝突或者解決掉衝突後,再用git push origin branch-name推送就能成功!
如果git pull提示“no tracking information”,則說明本地分支和遠程分支的鏈接關係沒有創建,用命令git branch --set-upstream branch-name origin/branch-name。