$ git config --global user.name "Your Name"node
$ git config --global user.email "user@xxx.com"git
版本庫又叫倉庫(repository),這個目錄裏面的全部文件均可以被Git管理起來,每一個文件的修改、刪除都能被跟蹤。github
在合適的位置直接鼠標右鍵建立一個空目錄做爲倉庫,而後從Git-Bash命令行進入到該目錄,或者也可使用命令行建立空目錄,再進入到該空目錄中。 npm
如下給出建立並初始化git倉庫的代碼: 服務器
進入到倉庫的位置,我將倉庫放在了C:\Android\git-repositories目錄下,注意,使用cd命令進入到目錄中時,在Git-Bash中應該使用斜線」/」, app
而不是反斜線」\」 字體
$ cd C:/DeskTop/git-repositoriesui
$ mkdir new_repository 建立新的目錄url
$ cd new_repository 進入到建立的目錄spa
$ git init
Initialized empty Git repository in C:/DeskTop/git-repositories/new_repository/.git/
(顯示信息意思爲:初始化了一個空的Git倉庫,new_repository_1目錄下多了一個.git目錄,時用來管理版本庫的)
git status
這個時候窗口上就會顯示
他會告訴你你都修改了哪些文件。
$ git add . 添加全部的文件、文件夾
$ git add <file> 添加指定名稱的文件,<>內部寫文件全稱
注:若是文件沒有作出任何修改,則默認不會添加任何文件
$ git commit –m 「info」 提交本次事務,即將add的文件提交到git倉庫,引號內部表示本次提交的提示信息
而後可使用 git status 查詢咱們提交的狀態,這個時候若是 提交成功以後,文件名會變成綠色
$ git push 把文件提交到咱們遠程的github倉庫或者碼雲倉庫裏
$ git diff <文件全稱> 若是已經add了,就打印不出有什麼修改了,這一步驟應該在add以前,即添加以前能夠用來看看作了什麼修改。
$ git log
Commit xxx commit id 版本號
Author:xxx<xxx@xxx.com> 提交人和郵箱
Date:xxx 提交的時間
XXXX 提交的信息(因此說,提交信息很重要!!!)
$ cat <文件全名稱> 顯示整個文件的內容
$ git reset --hard head^
在Git中,HEAD表示當前版本,就是最新提交的版本,即便用git log打印出來的位於第一位的版本,上一個版本就是HEAD^,上上個版本就是HEAD^^,
當前向上100個能夠寫成HEAD~100。固然,還有一種方式就是直接使用commit id來代替HEAD^,好比版本號是asfdjashfkj3456787654323e4343,
那麼就能夠直接使用命令:
$ git reset --hard asfdjashfkj34567 使用前幾位表示便可,git會自動查找
注:版本回退之後,使用git log打印的歷史記錄都是回退版本以前的數據,以後的都沒有了,不過放心,git總有後悔藥能夠吃噠~
1.若是命令行窗口沒有關閉,直接去前面找commit id便可;
2.若是命令行窗口關閉了,或者次日後悔了,能夠進入到該目錄下,使用git reflog命令來查看之前的每一次命令,能夠得到每次提交的commit id,
就能夠版本回退了。
$ git reflog 能夠查看命令歷史,包含提交的commit id
以前有過一回文件搞錯了,光找回就花了好幾個小事,一個文件一個文件的找。
其實簡單講,就是說只要進行了代碼提交,git內部都會按照時間節點進行記錄,每條記錄都有commit id做爲惟一標識(就像是鏈表每一個節點都有惟一的地址同樣),HEAD老是指向當前版本(就像指針同樣)。所謂的版本回退,僅僅是講Head從當前版本指向了指定的版本,而後將工做區的文件也修改了。
Git和其餘版本控制系統的一個不一樣之處就是有暫存區的概念。
前面講到,將文件存入到Git版本庫裏,分兩步執行:
第一步:用git add命令將工做區的修改文件添加到暫存區; (屢次操做)
第二步:用git commit命令將暫存區的全部修改內容提交到當前分支。(事務提交,包含第一步屢次操做,注意,不在暫存區的修改不會被commit)
一旦事務提交以後,若是對工做區沒有作什麼修改,那麼工做區就是乾淨的。
由於建立Git版本庫的時候,Git自動建立了一個master分支,因此如今git commit 就是往master分支上提交事務。
1. 須要安裝的軟件:msysgit
2. 須要申請的帳號:
一、公司GitLab帳號:向公司GitLab管理人員申請 – ***
二、項目GitLab權限:向本項目的建立/管理人員申請 – 好比**app管理者 ***
3. 進入到GitBash命令行操做:
本機地址爲:C:\DeskTop\git-repositories,本身建立的git倉庫地址
$ git config --global http.sslVerify false
$ git clone https://gitee.com/*********/round.git
(輸入用戶名和密碼以後,將開始下載遠程倉庫,這裏僅僅下的是主分支-master)
$ git branch –a
顯示以下:
* master
round/origin/HEAD -> origin/master HEAD-遠程倉庫的當前分支是主分支
round/origin/dev dev分支(全部操做都會合併到該分支)
round/origin/master master分支就是主分支
$ git checkout -b dev
$ git pull origin dev
$ git status
On branch dev -只有一個本地dev分支(可是內容已是遠程倉庫dev的內容了)
nothing to commit, working directory clean -此時沒有任何修改,工做區很乾淨
$ git branch –a
上面顯示的是本地分支,綠色字體和」*」表示的是當前所在的分支,
下面紅色部分顯示的是遠程倉庫的分支。
$ git checkout -b selftext
$ git add . 注意:確保此時在本身的分支上進行操做,eg:dai(我本身的名字)
$ git commit –m 「xxx可寫提交的信息」 將本地暫存區的代碼提交到本身的分支上
$ git checkout dev
$ git pull origin dev
(肯定本身的本地倉庫的dev分支已是最新的了)
$ git checkout selftext
$ git merge dev 將本地dev分支合併到本身的分支上
注意:此時已經將dev分支合併到本地的本身的分支上了,有時候可能須要解決代碼衝突問題,解決完畢後進行下面的操做。
若是有衝突,則須要再次進行add,commit操做。
$ git checkout dev
$ git merge selftext
$ git push origin dev
$ git remote –v 顯示遠程分支的名稱和url
有一些文件並不能上傳到git上。好比咱們npm install 安裝以後有的node modules
因此須要在項目的根目錄下建立一個名稱爲.gitignore文件,而後把要忽略的文件名填進去,Git就會自動忽略這些文件。
不須要從頭寫.gitignore文件,GitHub已經爲咱們準備了各類配置文件,只須要組合一下就可使用了。
注意:我的建議使用命令行方式進行版本管理,可是可使用圖形化界面看本次代碼的改動,比較方便。
1. 在所在項目,右鍵選擇git gui
2. 界面以下,若是會使用命令行,那麼一看就明白了
3. 配置
UTF-8:Edit-Options:
若是以前設置好了,直接在項目中右鍵進入,那麼這些都不用設置:
4. Add commit push很快完成,不用輸i入命令
5. 查看代碼對比 若是想要查看全部的改動歷史,能夠:就能夠看到全部的代碼改動歷史,而不 用去網上看。注意,這裏能看到全部人的改動哦!!!很是強大!
6. 設置和遠程倉庫關聯(若是從項目根目錄進入,則自動關聯,不用設置)若是須要設置,選擇remote-àAdd,參考以下:
7. 新建項目,從遠程倉庫克隆 右鍵選擇git gui:選擇克隆已有版本庫。