這裏就來看一看基本的Git命令操作。
更新Git版本
$
git clone git://git.kernel.org/pub/scm/git/git.git
配置Git
- 添加用戶名與郵箱
$
git config --global user.name"John Doe"
$
git config --global user.email [email protected]
- 配置編輯器
$
git config --global core.editor emacs
在Windows下,如果想使用Notepad++,則可以這麼設置:對於64bit 系統,$
git config --global core.editor"'C:/Program Files/Notepad++/notepad++.exe' -multiInst -nosession"
$
git config --global core.editor "'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -nosession"
- 確認當前配置
$
git config --list
- 保存當前用戶驗證信息
在使用Git提交代碼時,每次提交git都會要求輸入 用戶名和密碼,很浪費時間。執行如下git命令,將用戶名和密碼保存到遠端服務器,即可跳過該環節:
$ git config credential.helper store
$ git push http://example.com/repo.git
接着輸入用戶名跟密碼後,執行修改提交都不用再驗證了。
獲取Git代碼倉庫
- 初始化代碼倉庫
$
git init
如果想要將當前的代碼進行版本控制,則需要跟蹤這些文件並做一個初始化的執行操作:這裏把所有.c 文件以及LICENSE文件標記爲跟蹤(tracking)狀態,然後進行commit操作,將其添加到Git的本地工作目錄下。$
git add *.c$
git add LICENSE$
git commit -m'initial project version'
- 獲取已有的Git倉庫
$
git clone https://github.com/libgit2/libgit2
將倉庫映射到mylibgit文件夾下:$
git clone https://github.com/libgit2/libgit2 mylibgit
在倉庫中記錄文件修改
- 查看文件狀態
$
git status
- 跟蹤新創建的文件
$
git add README
- staging 已修改文件
$
git add CONTRIBUTING.md
- 查看文件的詳細修改
$
git diff
- 執行修改
上述執行命令只是添加了處於Staging 狀態的文件修改,那麼要如何跳過staging,直接執行Tracked文件的修改?$
git commit -m"Story 182: Fix benchmarks for speed"
$
git commit -a -m'added new benchmarks'
- 移除文件
$
git rm PROJECTS.md
- 重命名文件
$
git mv file_from file_to
- 查看修改記錄
$
git log
取消修改
- Unstage 一個staged文件
$
git reset HEAD CONTRIBUTING.md
- revert修改
$
git checkout -- CONTRIBUTING.md
- 取消所有合入修改
$
git reset --merge
遠程操作
- 查看遠程Git服務器
$
git remote
指定參數-v,可以查看Git服務的URL$
git remote -v
- 添加遠程倉庫
git
remote add <shortname> <url>
:$
git remote add pb https://github.com/paulboone/ticgit
這樣通過 fetch pb,便可以獲得遠程倉庫的數據:$
git fetch pb
- fetch/pull 操作
$
git fetch origin
如果本地Git倉庫已經設置成Track遠程倉庫,通過pull命令可以將遠程的倉庫的修改合入本地倉庫:$
git pull
- 將本地修改push到遠程倉庫
$
git push origin master
- 獲取遠程倉庫的狀態
git
remote show [remote-name]
,$
git remote show origin
- 重命名/移除遠程代碼倉庫
$
git remote rename pb paul
這樣遠端的分支從 pb/master 更改爲 paul/master. 如果想要移除某個倉庫,使用 rm命令:$
git remote rm paul
- 同步fork 分支
$
git remote add upstream <remote-url>
$
git fetch upstream
(2) 切換到本地 master 分支$
git checkout master
(3) 將upstream/master 分支的修改合入 本地 master 分支$
git merge upstream/master
- 查看所有遠程分支狀態
$
git branch -a
- 切換本地的工作分支->(提交代碼對應的遠程分支)
$
git checkout -b mybranch origin/remote-branch
如何新建一個Github項目?
- 在Git 新建一個 repository, 無需添加 README.md
- 在本地你的項目文件夾下,打開 git bash
- 初始化 本地 repository
$
git init
- 跟蹤(Track)本地文件到本地 repository
$
git add .
- 提交修改到本地 repository
$
git commit -m "initial commit"
- 添加遠程repository
$
git remote add origin https://github.com/your-name/your-repo.git
- 將本地修改push到遠程repository
$
git push -u origin master