git init
該條命令會在當前目錄下生成一個.git目錄,該目錄中存放着git須要的版本控制信息 python
git status能夠看到 git倉庫當前的狀態 」# Initial commit「
2. 增長一些文件 git
在當前目錄下新增一些文件(try git 自動幫你新建完畢)和目錄(也是自動的),經過git status命令查看當前版本庫的狀態 github
git add octocat.txt將octocat.txt文件加入版本系統(注意,這只是 通知git去關注該文件,在提交以前,此次的改動尚未造成一個版本)也能夠 經過通配符來批量添加文件
git add '*.txt'注意 通配符 *.txt 外面引號,若是沒有引號,則命令會被shell先解析,即*.txt的內容變成了當前目錄下的全部txt文件,而忽略子目錄中的全部txt文件,而‘*.txt’則會將通配符交給git來處理,在git內部完成 全部文件夾中txt文件搜索。
git commit -m "add some txt file"向版本庫中提交一個改動版本。
3. 增長一個github上的遠端倉庫(remote repository) shell
git remote add origin git@g.com:/try_git.git這裏ngloom須要變成你本身github用戶名,這條命令會在 本地的配置文件中加入一條名字叫origin的github遠端倉庫配置。
4. 將本地版本 push 到 github windows
git push -u origin master本 地倉庫裏在用的版本是master,而 遠端github裏的版本是origin,該命令將本地master裏的版本信息push到github倉庫裏去(若是你github上的倉庫名稱不叫try_git, 要事先保證該倉庫存在,try_git教程會幫你自動建好,因此push的時候不會出錯,而 向一個github中不存在的倉庫push的話,就要Repository Not Found錯誤了)
5. 從github 拉最新版本[假設別人在其它地方更新了github上的版本,須要將這些更新拉到本地來] app
git pull origin master
從origin[github遠端] 拉版本到本地的master 分支 eclipse
git diff HEAD查看新版本里有哪些變化 6. 查看Stage中的變化
以前提到過,git add 加進來的文件,並無最終造成新的版本,而是被提交到一個叫作‘stage’的狀態,因此在git add 以後,在commit以前,能夠經過diff工具來查看stage中有哪些更新。 svn
git diff --statged(注:這時候若是對文件進行了修改,而沒有從新git add,則stage中仍然保持着上次add的內容,這時CI也只會CI上次git add時候文件裏的內容)
若是git add某個更新以後又忽然不想提交了, 工具
git reset filename就會將stage中文件更新刪除,但放心 ,並不會刪除你本地文件內容的更新, 文件只是回到了modified狀態。 7. 恢復文件
git reset只是將文件從staged狀態從新置成modified狀態,但若是想該文件上次提交後的全部更新,須要用到 學習
git checkout --filename注意,– 千萬不能少,–表示單個文件,若是沒有–,則表示分支名稱,分支的概念後面再詳細講。
8. 建立一個分支
git branch clean_up
建立一個叫作clean_up的分支(這裏這個教程有些坑爹了,起個名字叫clean_up,加之英文沒有注意,使得我一開始覺得這是要對前的分支作一些清理工做,汗啊汗)
git branch能夠查看當前系統裏有哪些分支,並且能夠看出正在使用的是哪個分支。
切換到clean_up分支
git checkout clean_up以前用 git checkout 回滾文件修改時講到過,– 是表示文件回滾,若沒有」–「,則表示是一個分支的切換。
在clean_up分支中作一些改動,
git rm '*.txt'提交
git commit -m 'remove all txt'將clean_up版本push到github
git push origin clean_upgithub就有兩個版本,一個是master,一個是clean_up
切換回master分支,merge clean_up分支中的更新
git checkout master && git merge clean_upclean_up已經完成了本身的使命,能夠清除掉了
git branch -d clean_up
git push將master中的最新版本push到github
再補一個學習git的好地方,http://gitbook.liuhui998.com 這裏比較偏重git的實現。
SVN大哥感受有的時候仍是不太給力,本想着換hg了,不過此次小強回來極力推薦git,加上搜了一下git windows下也有像totoise svn的工GUI工具了,Eclipse下的EGit支持也不錯,那後面就轉投git之下吧。下面是相關的開發工具和文檔的連接:
Github for Windows: http://code.google.com/p/msysgit/downloads/list?can=3 TortoiseGit : http://code.google.com/p/tortoisegit/downloads/list EGit: http://www.eclipse.org/egit/download/ tortoiseGit 是依賴github的,注意兩個app的版本對應關係。 中文教程: http://www.bitsun.com/documents/gittutorcn.htm http://progit.org/book/zh/ 下面是大牛leemars推薦的一些書和網站: Gitready: http://gitready.com/ Git from the bottom up Pro Git Git Immersion