1. 程式人生 > >git基礎入門筆記

git基礎入門筆記

export 歷史版本 日誌 html 說明 交點 好的 merge UC

git基礎入門筆記

1.git的下載和安裝(安裝在centos上)

下載:http://www.linuxfromscratch.org/blfs/view/svn/general/git.html

安裝:http://blog.51cto.com/13505030/2055144

備註:基於centos的安裝

[root@Git ~]# cd git-2.7.3

[root@Git ~]# make configure

[root@Git ~]# ./configure --prefix=/usr/git ##配置目錄

[root@Git ~]# make profix=/usr/git

[root@Git ~]# make install

添加環境變量 :在/etc/profile文件中添加export PATH=$PATH:路徑

然後使用source /etc/profile保存,然後輸入git會顯示git相應的命令

設置全局的郵箱和名稱(不需要設置為全局可以省略global),假如不設置郵箱和名字,git commit的時候會相應的提示你去添加。

git config --global user.email [email protected]

git config --global user.name "Your Name"

2. git的基本使用

git init:倉庫的初始化,產生一個.git文件目錄,用於跟蹤版本管理。(一般情況下不要使用windows默認的記事本,建議使用notepad),默認是.git,可以git init 文件夾/文件名:在相應的文件夾下產生一個名稱.git的文件夾,git init --bare 文件夾:產生一個裸倉庫

git add 文件名1 文件名2...:添加一個或者多個文件到暫存區,為git commit做準備

git commit –m "信息" : 將暫存區的內容添加到本地倉庫版本管理,信息表示備註,-m建議需寫。

git status:查看倉庫當前的狀態

技術分享圖片

git diff file :比較修改的內容,遵循unix的diff格式(git管理的是修改,而不是文件)

git diff HEAD -- file :比較當前的版本庫中的最新的版本與工作區file的區別

技術分享圖片

git log:查看歷史日誌,由近到遠,由當前版本開始,使用時光機到歷史版本後看不到未來的版本

技術分享圖片

備註:commit 後面的字符表示id,Author 我們設置的作者和郵箱

git reflog:查看所有的版本提交記錄,用於版本穿越到過去和未來的參考以及一些其余的信息

get reset --hard 版本: 用於版本的穿越(過去和未來),HEAD^ 表示前一個版本 ,HEAD^^ 表示前兩個版本,多個版本可以使用HEAD~n 表示 n表示整數,HEAD表示當前版本,回到未來版本需要使用commitid

文件的刪除:先使用rm刪除當前相應的文件,然後使用git rm 文件名,然後使用 git commit -m "信息"提交。

git checkout --文件名 :清空當前修改(回到未修改前的版本),有兩種情況,一種是沒有存放到暫存區,那麽回到的版本與版本庫的最新版本一致 ,另一種是添加到了暫存區,那麽會相應的返回到暫存區的版本。

git reset HEAD file:將暫存區的該文件相應的去除

備註:推送到遠程倉庫後是不可以更改的,例如版本的撤銷

git config --global 變量名 變量值:修改git的全局配置

git config --global alias.別名 被別名的名稱 :配置別名

3.gitbisect檢查錯誤

這個命令可以使用二分法查看某個分支從何處開始變壞的,在bug沒有引入之前和bug引入之後選取兩個提交點, 例如:判斷某一個文件中是否有aaa(壞點),可以使用grep “aaa” 文件名,假如是壞點,那麽使用 git bisect start ,git bisert bad標記為壞的點,然後假設某個提交點是好的點, 那麽使用git bisert good標記好的好的點,那麽會自動檢出中間的提交點,然後依次繼續,當然也可以是用shell腳本實現自動化

4.git的存放區域

工作區:本地文件

暫存區:add後存放的區域

本地版本倉庫:git commit後的本地版本倉庫

遠程倉庫:

倉庫的建立:

Github的創建:官網 https://github.com/ 創建賬戶 創建倉庫,github的基本使用見github的基礎入門筆記。

5.分支與合並

git checkout -b 分支名: -b表示創建並切換分支,相當於git branch 分支名(創建)加git checkout 分支名(切換)

git branch :查看所有的分支

git merge 分支名:將那條分支合並到當前分支上(master表示默認的支路)

分支上的添加和提交同master支路

合並的沖突:產生的原因,修改了同一個位置的內容,解決方法,修改產生沖突的文件後(vim i wq),add添加到暫存區,然後提交

沖突文件如下

技術分享圖片

git branch –d 分支名 : 刪除分支

git log --graph:更加友好的查看相應的歷史信息

技術分享圖片

6.標簽

git tag 標簽名:在相應的標簽上標記標簽名

git tag 標簽名稱 commitid:對歷史版本添加標簽

git tag -a 標簽 -m "說明" commitid :-a表示指定版本號,-m指定說明

git tag:查看所有的標簽

git tag -d :標簽名

7.linux上git 服務器的搭建

添加ssh公鑰,在~/.ssh/authorized_keys裏添加客戶端的公鑰,一行一個,倘若沒有相應的文件,可以新建mkdir ~.ssh

touch ~/.ssh/authorized_keys

8.在eclipse中使用

技術分享圖片

類似如上:add to index 相對linux 的git add ;commit相當於git commit;reset時光穿梭機,remote遠程推送和取出,ignore忽略,switch 同相當於git的創建和切換分支等

git基礎入門筆記