在git@osc中建立一個項目:demo git
從遠程把項目拉取到本地 fetch
$ git clone https://xxx/xxx/xxx/demo.git spa
查看當前的分支 .net
$ git branch 繼承
$git branch -r 查看遠程分支 進程
查看遠程主機名 開發
$git remote -v rem
在demo目錄下建立了一個文件a.txt。如今要把這個文件添加到本地 get
$ git add . --undo: $ git reset [文件名] 或 $ git reset it
提交添加的文件
$ git commit -m 'i commit file name a' --undo $ git reset HEAD^
查看git當前的狀態
$ git status
提交到遠程
格式:$git push <遠程主機名><本地分支>:<遠程分支>
$ git push origin master
提交時會要你輸入用戶名和密碼
方法1:編輯文件 .git/config,在文件的末尾添加下面內容,第二次就不用輸入密碼了
[credential]
helper = store
注意: 若是忽略<遠程分支>,則遠程分支名與本地名一至,若遠程無該分支就建立
修改a.txt 添加內容 ‘aaaaaaaaaaaaaaaaaaa’
--undo: $ git checkout -- a.txt 或 $ git checkout -- .
修改後的a.txt提交了
--undo : $ git reset HEAD^ 這裏回退到文件編輯的狀態下(還沒add)
提交到遠程了,可是我想將本地和遠程的版本回退step1
$ git reset --hard HEAD^ 本地回退
$ git push -f origin master 將本地的版本強推送至遠程
本地建立通過了5次的提交,如今想退到第1次的提交
$ git reset --hard HEAD~4 本地回退
$ git push -f origin master 將本地的版本強推送至遠程
手動刪除一個文件dev.txt,要更新到庫中
--undo : $ git checkout -- . 撤消全部修改的內容(刪除,修改)
$ git add -A --undo : $ git reset . $ git checkout -- .
$ git commit -m 'delete dev.txt' 更新本地庫
$ git push origin master 更新遠程庫,在更新遠程時最好pull一下
第二種
$ git rm <文件名> 用命令刪除一個文件,‘*’表示全部
$git commit - m ‘delete dev.txt’ 後面的與第一種操做同樣了
在遠程建立了一個分支dev
將遠程的分支更新到本地
$ git pull origin dev:dev 將遠程的分支拉取到本地
$ git checkout dev 切換至dev的版本
本地分支dev通過了5次的更新 ,如今要想將其合到master中
$ git push origin dev:master 這時遠程的分分合並完成了,但本地還未更新
$ git pull origin master:master 將遠程的master分支更新至本地master分支
第二種(當前分支爲master)
$ git merge dev 將本地的dev分支合併到遠程的master中
$ git push origin master 將本地的master更新至遠程中
在本地建立一個faster分支並切換到該分支中,而後提交至遠程
格式:branch <新的分支><繼承的分支>
$git checkout -b faster -b:建立並切換,<繼承的分支>爲當前的分支
$git branch 查看分支,帶‘*’表示當前分支
$git push origin faster 將faster分支推送到遠程,若是遠程無該分支就自動建立
在本地刪除faster分支並更新到遠程中
$ git branch -D faster 強制刪除,用於遠程分支與本地分支版本不一至時
$git branch -d faster 通常的分支刪除操做
$ git push origin :faster 刪除遠程的分支
在遠程刪除dev分支並更新到本地中
$ git push origin :dev 刪除遠程的分支dev
$git branch -d dev 不知道如何兩步,只能手動刪除本地分支
代碼強推送(若是遠程主機的版本比本地更新push將會報錯,這時能夠強推送),結果致使遠程主機上的更新版本被覆蓋
$ git push --force origin master 或
$ git push origin master -f
※ Pull 取回遠程主機某個分支的更新,再與本地指定的分支合併
格式:$git pull <遠程主機名> <遠程分支>:<本地分支>
$git pull origin master --若是是與當前分支合併<本地分支可不用指定>
注意:若是Fetch 遠程內容更新到本地,一般用來查看其餘人的進程,由於它取回的代碼對你本地的開發代碼沒有影響。默認取回全部分支的更新 $git fetch origin
格式 $git fetch <遠程主機名> <遠程分支>
$git fetch origin master
列出遠程主機名 包括網址
$git remote -v
添加遠程主機
$git remote add <主機名> <網址>
刪除遠程主機
$git remote rm origin
遠程主機更名
$git remote rename <原> <新>
Push
格式 $git push <遠程主機名><本地分支>:<遠程分支>
若是少了<本地>分支則刪除<遠程分支>如:
$git push origin :master 等於
$git push origin --delete master