20130907.Git學習記錄

一、任何文件在Git內都只有三種狀態:
①已提交(committed):已提交表示該文件已經被安全地保存在本地數據庫中了;
②已修改(modified):已修改表示修改了某個文件,但尚未提交保存;
③和已暫存(staged):已暫存表示把已修改的文件放在下次提交時要保存的清單中。
由此咱們看到Git管理項目時,文件流轉的三個工做區域:Git 的本地數據目錄,工做目錄以及暫存區域。
 
二、先決條件:
1)在GitHub上面註冊一個帳號並激活
2)安裝windows下的git客戶端如msysgit
 
*****************************華麗的分割線*****************************
1、使用SSH創建本地Git跟GitHub的鏈接
SSH是什麼,我也不清楚,只知道不少鏈接相關的都叫SSH好比說XShell鏈接Linux主機的時候就是SSH,應該是一種鏈接協議吧,須要找一個谷歌。
 
一、查看本地是否存在SSH:
No such file or directory 說明不存在ssh,則須要去建立一個新的ssh keys,使用命令創建SSH鏈接(看第3點)。
 
二、運行命令:
$ ssh-keygen -t rsa -C your_email@youremail.com
執行完後在當前登陸的用戶下創建了文件夾:
 
三、將新生產的SSH密鑰導入到Github帳戶中
其中key是id_rsa.pub裏面的文件內容:
 
四、接下來測試一下咱們的git跟github是否能鏈接上
①輸入命令:ssh -T  git@github.com
②輸入yes,提示
③輸入以前設置的密碼:直接提示鏈接被關閉
④接着執行上面的命令,再一次輸入密碼,發現
以上設置爲了讓咱們本地的Git跟Github鏈接上,接下來在本地配置git以便可以更好的進行簽入和簽出文件
 
*****************************華麗的分割線*****************************
 
2、配置Git並新建項目
一、使用命令 
git config --global user.name 「Your Name」
git config --global user.email  「you@example.com
如圖:
操做以後windows下當前登錄用戶會多一個.gitconfig文件,
文件內的內容爲:
 
二、新建一個倉庫
 
三、上傳文件到GitHub中
 
①在的盤下新建一個目錄名爲jstest,跟前面創建的倉庫名同樣
 
②跳轉到d:\jstest目錄下
或者直接在cmd命令下進行,不過要將git的bin目錄添加到環境變量下面
須要將git的bin路徑添加到環境變量
 
③新建一個README文件
 
④簽入到本地文件庫中
first commit 是簽入備註
 
整個步驟以下圖:
 
官方給出的命令以下:
 
以上就是Git的一個簡單使用
 
*****************************華麗的分割線*****************************
 
3、Git不能支持中文的解決方法

一、ls不能顯示中文目錄
解決辦法:在git/etc/git-completion.bash中增長一行:
alias ls='ls --show-control-chars --color=auto'html

二、git commit不能提交中文註釋
解決辦法:修改git/etc/inputrc中對應的行:
set output-meta on
set convert-meta off git

三、git log沒法顯示中文註釋
解決辦法:在git/etc/profile中增長一行:
export LESSCHARSET=iso8859github

來源於網絡數據庫

*****************************華麗的分割線*****************************vim

4、Git一些命令詳解(不斷更新)windows

一、從GitHub上克隆一個項目
克隆地址在每個項目的首頁都有,有很種形式的方式
 
二、使用git diff查看差別(這個缺點太多了,請直接右鍵單擊項目而後選擇Git gui)
 
三、將一個已經存在的項目更新到GitHub上的步驟:
1)切換到工做目錄:cd /d d:\github\jstest
1)新建一個文件夾,跟項目名稱如出一轍例如jstest
2)將項目文件複製到jstest文件夾下
 
4)進入項目根目錄夾並初始化git:git init
5)添加全部文件:git add .
6)提交到本地:git commit -m "start project"
7)添加到遠程服務器:git remote add origin git@github.com:liujiangbei/pytest.git
8)更新到GitHub上:git push -u origin master
參考文章:
 
四、建立一個倉庫
Create a new repository on the command line
touch README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin
git push -u origin master
 
Push an existing repository from the command line
git push -u origin master
 
五、命令條目
1)添加文件:git add file
2)移除文件:git rm file
3)從遠程獲取最新版本並merge到本地:git pull origin master (固然要進入項目的活動目錄裏)
4).更新項目(新加了文件):
$cd ~/jstest
$git add .                  //這樣能夠自動判斷新加了哪些文件,或者手動加入文件名字
$git commit              //提交到本地倉庫
$git push origin master    //不是新建立的,不用再add 到remote上了
5).更新項目(沒新加文件,只有刪除或者修改文件):
$cd ~/jstest
$git commit -a          //記錄刪除或修改了哪些文件
$git push origin master  //提交到github
6).忽略一些文件,好比*.o等:
$cd ~/jstest
$vim .gitignore     //把文件類型加入到.gitignore中,保存
而後就能夠git add . 能自動過濾這種文件
7).clone代碼到本地:
假如本地已經存在了代碼,而倉庫裏有更新,把更改的合併到本地的項目:
$git fetch origin    //獲取遠程更新
$git merge origin/master //把更新的內容合併到本地分支
8).撤銷
$git reset
 
*****************************華麗的分割線*****************************
有用的鏈接:
 
更新本身fork的項目
 
git中pull和fetch的區別
 
*****************************華麗的分割線*****************************
常見錯誤
1.$ git remote add origin git@github.com:WadeLeng/hello-world.git
錯誤提示:fatal: remote origin already exists.
解決辦法:$ git remote rm origin
而後在執行:$ git remote add origin git@github.com:WadeLeng/hello-world.git 就不會報錯誤了
2. $ git push origin master
錯誤提示:error:failed to push som refs to
解決辦法:$ git pull origin master //先把遠程服務器github上面的文件拉先來,再push 上去。
 




附件列表

相關文章
相關標籤/搜索