又不會的git操作,檢視
git使用技巧
文章概覽:
- windows下git使用
- vim編碼設定
- git ls顯示中文亂碼問題
windows下git使用
從網盤下載安裝即可
- 使用git連線github
1)生成本機的金鑰
ssh-keygen -C 'urmyfaith.qq.com' -t rsa
2)將生存的金鑰新增到github網站中
a)登陸https://github.com/settings/ssh
b)Add an SSH Key
3)測試是否可以登入github使用,新增使用者名稱和郵箱
$ ssh -T git@github.com
$ git config --global user.email "urmyfaith@qq.com"
$ git config --global user.name "urmyfaith"
$ git config --global push.default matching
4)本地git初始化
$ git init
5) 拉取伺服器專案
$ git pull https://github.com/urmyfaith/NotesOfDjangoBook.git
或者
$ git pull git@github.com:urmyfaith/NotesOfDjangoBook.git
6) 修改,新增檔案,提交
git add filname_here
git commit -m "notes_here"
7) 提交更改到伺服器
git remote add origin https://github.com/urmyfaith/NotesOfDjangoBook
# also:
# git remote add origin https://github.com/urmyfaith/NotesOfDjangoBook.git
# git remote add origin git@github.com:urmyfaith/NotesOfDjangoBook.git
git push -u origin
- 提交時候密碼的問題:
如果不想每次提交都輸入密碼,可以更改“.git/config”檔案中的url值格式為:
url = git@github.com:[user_name]/[project_name].git
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
hideDotFiles = dotGitOnly
[remote "origin"]
url = git@github.com:urmyfaith/NotesOfDjangoBook.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
git ignore file
To ignore file,edit:
.git\info\exclude
add the filetype you want to igonre to commit .
eg:
*.md~
git 打tag
顯示歷史提交
git log --pretty=oneline --abbrev-commit
給某個提交打tag
git tag v0.9 4224935
更多參考廖學峰-git-tag
你可以使用 git tag 命令來新增新標籤
git tag -a v1.0 -m 'version 1.0'
可以使用 git push 命令來將標籤推送到遠端倉庫
git push origin v1.0:v1.0
vim編碼設定
(顯示中文亂碼問題,最後一行解決)
vimrc檔案位置:
C:\Program Files\Git\share\vim
新增如下設定
set nocompatible
set number
filetype on
set history=1000
set background=dark
syntax on
set autoindent
set smartindent
set tabstop=4
set shiftwidth=4
set showmatch
set guioptions-=T
set vb t_vb=
set ruler
set nohls
set incsearch
if has("vms")
set nobackup
else
set backup
endif
set fileencodings=utf-8,gbk
git ls顯示中文亂碼問題
編輯
C:\Program Files\Git\etc\git-completion.bash
新增:
alias ls="ls --show-control-chars"
git view history
git log --pretty=oneline
檢視某個檔案的版本歷史
git log --follow -p file
git rm file git刪除檔案
移動檔案,然後從git裡移除檔案,再新增,最後提交。
mv file_form file_path_to
git rm file_from
git add file_path_to_full_name.
git commit -c "move file"
git 放棄本地修改
git checkout . 搜尋#本地所有修改的。沒有的提交的,都返回到原來的狀態
git stash #把所有沒有提交的修改暫存到stash裡面。可用git stash pop回覆。
git reset --hard HASH #返回到某個節點,不保留修改。
git reset --soft HASH #返回到某個節點。保留修改
使用命令:
git reset --hard ORIGIN/BRANCH
比如master分支:
git reset --hard origin/master
git commit –amend
修改剛才提交的commit資訊
git diff
HEAD commit 版本
Index staged版本
git diff
git diff –cached (add之後的不同)
git diff –staged (add之後的不同)
git diff HEAD (commit之後的修改本地後的不同)
git diff HEAD^ HEAD (最後兩次commit的不同)
加快git pull的速度
- 先輸入命令
ssh -N git@gitcafe.com
保持連線 - 然後新建視窗git pull/push
- 測試時間可以使用
x:panda zx$ time git pull
Already up-to-date.
real 0m1.043s
user 0m0.058s
sys 0m0.054s
參考: