0.安裝linux
使用google上的msysgitgit
http://code.google.com/p/msysgit/downloads/listgithub
儘可能用最新版的吧vim
1.KEYwindows
關於 key,.ssh裏面的key是與服務器通訊用的,其餘什麼用,也不必定要用email,其實隨便用什麼均可以。api
github.com上那個服務器
ssh-keygen -t rsa -C "email"ssh
有誤導的成分,其實引號裏面的不必定要email隨便均可以,只要把本地.ssh/id_rsa.pub裏面的東西複製到github裏面的public ssh key就能夠了。編輯器
2.大小區分的問題ui
開始在github上建了個項目,在本地使用了$ git remote add git@github.com:{user}/{project}.git,結果由於輸入是大小寫跟服務器上不一致,致使找不到項目,鬱悶啦,最鬱悶的是,在windows上從新按正確的大小寫add一次,提示已經存在,最後的解決辦法是先刪除,而後在添加
git remote rm origin 3.Bash粘貼
默認狀況下Git Bash竟然不支持粘貼,在我輸入api key的時候最鬱悶,後來解決方法是在Bash窗口上點右鍵 選擇Properties把QuiteEditMode,InsertMode複選框勾上。
4.使用GitHub.com服務器
開始的時候覺得設置加密就可了,原來還有一個apiKey和用戶輸入
也就是在config裏面配置github.com裏的用戶名和郵箱
$ git config --global github.user "youruser"
$ git config --global github.token yourtoken(在GitHub上的account settings>account admin >>api token那串字符)
配置好了,能夠經過
$git config --list查看。
5.關於VIM窗口
開始用git commit 提交的時候是用 -m 「message」的
後來直接用git commit 回車後彈出一個窗口,後來才知道是linux下的文本編輯器
鬱悶的是半天退出不出來,baidu,google一番,
進入以後是VIM的普通模式,按 i 鍵,進入INSERT模式,這是能夠輸入message了。
輸入完成以後,按ESC鍵進入命令模式 ,輸入冒號(在窗口下面顯示),而後輸入x,回車就OK了。
其實能夠用記事本代替vim,
輸入以下配置:
git config --global core.editor C:/windows/notepad.exe
6.清楚Bash裏面的歷史記錄
其實就是Linux清楚歷史命令,直接輸入$ history -c
7.關於Tag
打tag很簡單,所謂「會者不難難者不會」,直接使用git tag -a tagname -m「mesage」
打完tag要顯示的push,使用命令git push origin tangname,這樣別人才能看到
切換到tag下面用git checkout tagname,
刪除tag:git tag -d tagname
遠程刪除:git push origin :refs/tags/tagname
8.關於Branch
git branch 不帶參數:列出本地已經存在的分支,而且在當前分支的前面加「*」號標記
git branch -r 列出遠程分支
git branch -a 列出本地和遠程分支
git branch BranchName 建立新的 本地 Branch
git branch -d Branchname 刪除branch
git branch -d -r Branchname 刪除遠程branch(例git branch -d -r origin/aa)
git push <remote repository> <local branch> 把本地branch 推送到遠程服務器
error: dst refspec notmaster matches more than one. That's because I had a tag with the same name as the branch. This was a poor choice on my behalf and caused the ambiguity. So in that case:
$ git push origin :refs/heads/notmaster http://stackoverflow.com/questions/2003505/how-do-i-delete-a-git-branch-both-locally-and-in-github
9.關於GITK
推薦一篇好的文章
http://lostechies.com/joshuaflanagan/2010/09/03/use-gitk-to-understand-git/
10.返回命令窗口
之前一直很鬱悶,輸入了git log以後不知道怎麼返回到命令窗口,就直接關閉整個窗口,
今天用git show tagname也出現了這個問題,通過摸索發現其實很簡單
輸入q,其餘鍵盤會繼續顯示剩餘log(若是有的話)
也就是Linux的退出命令
11.文件還原
用了一段時間發現文件還原很重要,以前不知道怎麼弄,裝了TortoiseGit用上面的Revert菜單。
其實用GIT命令是這樣滴:
a,若是文件修改了可是沒有提交(commit),直接用git checkout -f
b,若是修改了並提交了,
能夠用 git revert HEAD
能夠用git reset --hard HEAD