版本管理:
建立倉庫:git init
檢視倉庫當前的狀態:git status
檢視不同:git diff
提交到倉庫:
git add
//將工作區的內容提交到暫存區stage
git commit
//將暫存區stage的內容提交到分支master
版本的提交日誌:git log
e120b4554909deb5784d601042766dd10f0c59d5 是commit id(版本號)
退回到上乙個版本:git reset --hard head^
//退回到上一版本後,那最新的版本就會消失。
回到指定版本:git reset --hard 1094a
//回到1094a這個版本
刪除:情況1:只在工作區修改了檔案readme.c,還沒有git add和git commit
。現在想放棄修改。
方法:git checkout -- readme.c
情況2:在工作區修改了檔案readme.c,已經新增到了stage(git add),但是沒有提交(git commit)。現在想放棄修改。
方法:git reset head readme.c
//把暫存區的修改回退到工作區,和情況1的情形一樣了
git checkout -- readme.c
//放棄工作區的修改
情況3:在工作區修改了檔案readme.c,已經提交(git commit)了。應該版本回退。
方法:git reset --hard head^
遠端倉庫:
將本地庫與遠端庫關聯起來:
git remote add origin [email protected]:wolvesliu/code_intbot.git
把本地倉庫上傳到遠端倉庫:
git push -u origin master
//第一次上傳需要加-u,以後就不用了。
git push origin master
從遠端倉庫轉殖乙份到本地:git clone [email protected]:wolvesliu/code_intbot.git
分支管理:
建立並切換到分支:git checkout -b dev
.相當於執行
git branch dev
//建立分支dev
git checkout dev
//切換到分支dev
檢視所有分支:git branch
合併到master分支:git merge dev
。將分支切換到master,然後使用 git merge dev 可以快速的將dev分支合併到master分支上。
刪除分支:git branch -d dev
檢視遠端庫的資訊:git remote
git remote -v
更詳細
推送其他分支:
git push origin master
git push origin dev
//開發分支
多人協作:廖雪峰)
你的小夥伴已經向origin/dev分支推送了他的提交,而你也對同樣的檔案作了修改,並試圖推送:git push origin dev
。
發現推送失敗,因為小夥伴的最新提交和你試圖推送的提交有衝突,
辦法:先把最新的提交抓下來,然後,在本地合併,再push。若合併時有衝突就手動解決衝突,然後提交再push。
git pull
//先把最新的提交抓下來,
git merge dev
//合併,如果有衝突,就手動解決,然後再提交commit,再push
如果git pull提示no tracking information,則說明本地分支和遠端分支的鏈結關係沒有建立,
用命令git branch --set-upstream-to=origin/master master
。這是將本地的master分支與遠端的master分支建立關係。
配置檔案:
配置別名:
git config --global alias.st status // git st 等同於 git status
git config --global alias.co checkout // git co 等同於 git checkout
git config --global alias.ci commit // git ci 等同於 git commit
git config --global alias.br branch // git br 等同於 git branch
git config --global alias.last 'log -1' // git last 等同於 git log -1顯示最後一次提交資訊
git config --global alias.lg "log --color --graph --pretty=format:'%cred%h%creset -%c(yellow)%d%creset %s %cgreen(%cr) %c(bold blue)<%an>%creset' --abbrev-commit"`
配置git的時候,加上–global是針對當前使用者起作用的,如果不加,那只針對當前的倉庫起作用。
配置檔案放哪了?
(1)每個倉庫的git配置檔案都放在.git/config檔案中:
(2)當前使用者的git配置檔案放在使用者主目錄下的.gitconfig中。 vim ~/.gitconfig
[user]
name = max liu
email = [email protected]
[color]
ui =
true
[alias]
st = status
co = checkout
ci = commit
br = branch
last = log -
1
Git Git基本指令
一 檔案修改 1.當你改亂了工作區某個檔案的內容,想直接丟棄工作區的修改時 git checkout file。2.當你不但改亂了工作區某個檔案的內容,還新增到了暫存區時,想丟棄修改,分兩步,第一步用命令 git reset head file就回到了場景1,第二步按場景1操作。二 檔案刪除 若是把...
git git動畫教程
git學習資料比較好的有廖雪峰的教程 git scm 廖雪峰 git教程 git for windows github 新增 ssh keys gogithub git常規命令練習 git的資料整理 我所記錄的git命令 非常實用 企業開發git工作流模式探索部分休整 github 漫遊指南 git...
GIT Git基礎命令
1.設定名字與郵箱 git config global user.name yourname git config global user.email your email whatever.com 2.設定換行符 git config global core.autocrlf input git ...