提交(commit):把您作的修改,保存到本地倉庫中
推送(push):把您本地倉庫的代碼推送至服務器(通常是遠程服務器及gitlab或github)
git pull 從遠程拉取最新版本 到本地 自動合併 merge
不帶分支地址默認拉取所在分支的代碼,正常:git pull origin master
git fetch 從遠程獲取最新版本 到本地 不會自動合併 merge 正常操做以下:
git fetch origin master
git log -p master ../origin/master
git merge orgin/master
git branch XXX 建立分支(代碼會從master複製過來)
git checkout XXX 切換分支(代碼也會切換成XXX的代碼。
若是xxx分支代碼有後續提交過和mster不同,這時就全不同了,
不會合並哦,別搞錯,跟master代碼不要緊)
git merge XXX 合併XXX分支(假如你如今master,這時master就合併了XXX分支
的代碼,XXX分支代碼仍是原來的代碼)
1.主分支合併xxx分支
首先你必須在master分支上,若是你在ccc分支上,那就是ccc分支合併xxx分支的代碼【gitlab上合併到主分支能夠申請】,merge是合併了代碼和提交路徑等等git fetch origin xxx
git log -p master..origin/xxx
git merge origin/xxx
2.拉取的方法
git pull xxx 拉取xxx的代碼過來,併合並
區別:git pull = git fetch + git merge
git fetch 或者 git fetch --all
git reset --hard XXX 例如:git reset --hard branch_y (而後git pull 能夠更新線上代碼,避免衝突)
1.假設有2個提交記錄html
commit def5adef853da4cc05752bdb36577c127be71ba5linux
Author: 132982jianan <1072772483@qq.com>
Date: Thu Dec 28 16:01:36 2017 +0800git
add data to 1.txtgithub
commit f36801544670e00b2f59a28e19017d2786c4085e
Author: 132982jianan <1072772483@qq.com>
Date: Thu Dec 28 15:59:46 2017 +0800bash
init 1.txt
(END)服務器
2.如今回到最開始的那一個提交
git reset --hard f36801544670e00b2f59a28e19017d2786c4085egitlab
3.查看日誌,就會發現只剩下一個提交了
git logpost
commit f36801544670e00b2f59a28e19017d2786c4085e
Author: 132982jianan <1072772483@qq.com>
Date: Thu Dec 28 15:59:46 2017 +0800fetch
init 1.txt
(END)url
4.這個時候,發現回退版本錯了,那麼就用git reflog查看提交記錄
git reflog
f368015 HEAD@{0}: reset: moving to f36801544670e00b2f59a28e19017d2786c4085e
def5ade HEAD@{1}: reset: moving to def5ade
f368015 HEAD@{2}: reset: moving to f36801544670e00b2f59a28e19017d2786c4085e
def5ade HEAD@{3}: commit: add data to 1.txt
f368015 HEAD@{4}: commit (initial): init 1.txt
5.找出想要回退的版本,進行回退
恢復
git reset --hard def5ade
要對現有的某個項目開始用 Git 管理,只需到此項目所在的目錄,執行:
$ git init
克隆倉庫的命令格式爲 git clone [url]
$ git clone git://github.com/schacon/grit.git
git branch -r | grep -v '\->' | while read remote; do git branch --track "${remote#origin/}" "$remote"; done git fetch --all git pull --all
window 右鍵git裏添加忽略
linux :
vi .gitignore
寫入你要忽略的文件或文件夾
在項目目錄裏(及git clone下來的項目的裏面)
vi .git/config
而後添加
[credential]
helper = store
接着
git pull
輸入用戶名、密碼自動保存