git command


git@osc中建立一個項目:demo git

Step 1

從遠程把項目拉取到本地 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

注意若是忽略<遠程分支>,則遠程分支名與本地名一至,若遠程無該分支就建立

Step 2

修改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   將本地的版本強推送至遠程

Step3

手動刪除一個文件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’      後面的與第一種操做同樣了

Step4

在遠程建立了一個分支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

相關文章
相關標籤/搜索