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