git的基本使用

git命令行工具:

基於git命令行的一個客戶端軟件(提供一個界面去管理源代碼)


git 每次提交都需要寫日誌,方便追溯

gitGutter插件 用來記錄本地修改的情況

*表示相對於上次來說修改的內容



Sublime代碼開發編輯器


github學習中的探索項目http://github.com/explore

git hub操作

set up git 

create repositories

Fork repositories

work togerther



舉個例子:

如果開發把代碼給我了,我解壓縮到共享服務器的開發目錄,裏面新添加了一個readme.txt項目文件,想把它放到github託管,放到master分支


1:首先安裝git根據電腦的操作系統位數,選擇是32還是64位,設置環境變量,然後本地初始化git ,

在windows的git的安裝目錄打開bash git,git init初始化倉庫,把項目放到git 路徑

需要注意的是:要在github上創建項目,項目名稱需要和本地windows上的git 項目保持一致性,例如我取的名字爲git-demo


用戶環境變量設置:

變量名:GIT_HOME 

在path中添加變量值:F:\develop\git


;%GIT_HOME%\bin;


git --version //查看git是否安裝成功

git init  //初始化git,git init初始化一個本地git倉庫


2:把本地的內容推送到github,先看下狀態和當前的分支有哪些

git status查看本地的項目內容,查看本地倉庫的變更狀態,第一次查看,顯示的是一些沒有被跟蹤的文件

git brach 查看當前的分支,默認只有maste分支


補充說明

git add .     //添加所有變更的內容

git add all


在代碼庫文件夾的根目錄添加一個.gitignore文件,此文件用於說明忽略的文件有哪些,在git hub上新建項目的時候也可以有這個選項


在代碼管理工具中【Sublime代碼開發編輯器】新建.gitignore,因爲windows下不能新建以.開頭的文件

在gitignore中添加要排除的目錄

例如:readme項目中的目錄結構有很多,其中有一些是不必要的,沒有必要放到github浪費空間,業影響我們代碼管理和瀏覽的整潔性,取消某些不必要的內容

node_modules

dist 會取消所有文件夾下的dist

當只需要取指定的dist而不是所有的dist文件時

/dist代表只會忽略根下的dist

git add .

git add all


git add readme.txt 添加項目

git commit -m "add my first project "  提交項目說明, 我個人簡單的理解爲其實就是打標機,添加說明


git commint    將本地的變化提交的本地的倉庫文佳夾歸檔,它其實是保存了代碼中的一個副本,

避免有問題的時候可以還原,一般在有了一個小單元的整體變化後再提交


commmit 提交代碼到git hub時需要添加用戶名和密碼認證

添加用戶:

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

git config --global user.name "phoenix"

git commit -m "add my first project "  提交項目說明


git add readme.txt 



git status 查看要提交的代碼狀態

git status -s 查看詳細的狀態,-s輸出簡要的變更日誌

$ git status -s

A  readme.txt

A表示新添加的內容

git log 查看操作記錄


3:把github的遠程倉庫添加到本地

git help remote

git remote add origin https://github.com/phoenix/git-demo.git

$ git remote

origin

yan@DESKTOP-82902VT MINGW64 /f/develop/git-demo (master)

$ git remote -v

origin  https://github.com/phoenix/git-demo.git (fetch)

origin  https://github.com/phoenix/git-demo.git (push)


git push -u origin master //把內容推送到遠端的分支,-u參數實現讓文件以流的方式傳輸,速度快


$ git push -u origin master

bash.exe: warning: could not find /tmp, please create!

Username for 'https://github.com': phoenix

bash.exe: warning: could not find /tmp, please create!

Password for 'https://[email protected]':

Counting objects: 4, done.

Delta compression using up to 4 threads.

Compressing objects: 100% (2/2), done.

Writing objects: 100% (4/4), 302 bytes | 0 bytes/s, done.

Total 4 (delta 0), reused 0 (delta 0)

To https://github.com/phoenix002/git-demo.git

 * [new branch]      master -> master

Branch master set up to track remote branch master from origin.


yan@DESKTOP-82902VT MINGW64 /f/develop/git-demo (master)

$ git status

On branch master

Your branch is up-to-date with 'origin/master'.

nothing to commit, working directory clean


yan@DESKTOP-82902VT MINGW64 /f/develop/git-demo (master)

$ git log

commit 7e32b28246cbe9982876e2f8d706447de5cad0ff

Author: phoenix002 <“[email protected]>

Date:   Thu Mar 9 11:36:37 2017 +0800


    tijiao readme.txt


登陸github代碼託管就可以看到提交的代碼內容


在工作做開發都是協同工作,例如開發A開發了一個項目,或者項目readme.txt文件有變更,A把她更新後的代碼放到github上

開發組員B需要在A跟新的基礎上進行代碼的開發,


首先B要看看相對之前A做了什麼變動

git diff用來對比差異

git log查看操作記錄

commit 22d250GHJJ


git reset --hard  22d250G

哈希值版本的前六位


git reset --hard 強制回退到代碼庫之前提交的那個狀態

git log 可以查看是否已經還原


B需要把A推送到github上的readme項目拉取下來

需要進行的操作是

git pull origin master //把github上的代碼拉到本地

可以在本地機器上看到readme項目新添加的內容this is test

$ git pull  origin master

bash.exe: warning: could not find /tmp, please create!

remote: Counting objects: 3, done.

remote: Compressing objects: 100% (2/2), done.

remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0

Unpacking objects: 100% (3/3), done.

From https://github.com/phoenix002/git-demo

 * branch            master     -> FETCH_HEAD

   7e32b28..2a98417  master     -> origin/master

Updating 7e32b28..2a98417

Fast-forward

 readme.txt | 1 +

 1 file changed, 1 insertion(+)


補充一個內容:

https://gist.github.com   可以存放自己的代碼片

創建號代碼片後,會有一個Embed地址,是js腳本

可以把這個放入到index.html 可以訪問到該代碼片

<script src="https://gist.github.com/phoenix/e40e6fc1083eb8a592ec19a00f941df7.js"></script>

這個可以免費創建私有的,另外可以下載改代碼片段的壓縮包


本地創建分支

git brach 查看當前版本庫有幾個分支

git brach v2  創建分支V2

git checkout v2 切換到v2分支

git brach 

提交到遠端地址


git push -u origin v2

git status 

vim index.php

<?php


echo "index";

?>

git add --all

git commit -m "v2 version add"


推到遠端需要用戶名和密碼認證

git push -u origin v2


$ git push -u origin v2

bash.exe: warning: could not find /tmp, please create!

Username for 'https://github.com': phoenix

bash.exe: warning: could not find /tmp, please create!

Password for 'https://[email protected]':

Total 0 (delta 0), reused 0 (delta 0)

To https://github.com/phoenix/git-demo.git

 * [new branch]      v2 -> v2

Branch v2 set up to track remote branch v2 from origin.



如果要刪除分支2

*刪除分支

git branch -d [branch name]

(不能刪?用這個!)

git branch -D [branch name]


一般情況下,你通常直接在文件管理器中把沒用的文件刪了,或者用rm命令刪了:

這個時候,Git知道你刪除了文件,因此,工作區和版本庫就不一致了,git status命令會立刻告訴你哪些文件被刪除了:


刪除文件

命令git rm用於刪除一個文件。如果一個文件已經被提交到版本庫,那麼你永遠不用擔心誤刪,

但是要小心,你只能恢復文件到最新版本,你會丟失最近一次提交後你修改的內容。


$ git status

On branch master

Your branch is up-to-date with 'origin/master'.

Changes not staged for commit:

  (use "git add/rm <file>..." to update what will be committed)

  (use "git checkout -- <file>..." to discard changes in working directory)


        deleted:    .aaa/aaaaaa.txt


no changes added to commit (use "git add" and/or "git commit -a")


yan@DESKTOP-82902VT MINGW64 /f/develop/git-demo (master)

$ git rm .aaa/aaaaaa.txt

rm '.aaa/aaaaaa.txt'


yan@DESKTOP-82902VT MINGW64 /f/develop/git-demo (master)

$ git status

On branch master

Your branch is up-to-date with 'origin/master'.

Changes to be committed:

  (use "git reset HEAD <file>..." to unstage)


        deleted:    .aaa/aaaaaa.txt



yan@DESKTOP-82902VT MINGW64 /f/develop/git-demo (master)

$ git commit -m "remove .aaa/aaaaaa.txt"

[master b11c1b4] remove .aaa/aaaaaa.txt

 1 file changed, 0 insertions(+), 0 deletions(-)

 delete mode 100644 .aaa/aaaaaa.txt


yan@DESKTOP-82902VT MINGW64 /f/develop/git-demo (master)

$ git status

On branch master

Your branch is ahead of 'origin/master' by 1 commit.

  (use "git push" to publish your local commits)

nothing to commit, working directory clean

yan@DESKTOP-82902VT MINGW64 /f/develop/git-demo (master)

$


$ git log

commit b11c1b4e2740869a8865de6289cb49cae7486c09

Author: phoenix002 <“[email protected]>

Date:   Thu Mar 9 22:14:41 2017 +0800


    remove .aaa/aaaaaa.txt


第一步:$ touch news.txt

第二步:$ git add news.txt

第三步:$ git commit -m "添加一個txt文件"

git push -u origin v2


http://www.dnspod.cn/cpnsole/dns 利用github存放自己開發的網站,可以用這種域名解析

http://phoenix.github.io  github官方域名,其實就是自己的github的ID加上.github.io後綴

前端自動化之神器 — Gulp Javascript構建工具

http://www.imooc.com/article/3399







 









發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章