git的幾個命令

對git的問題:javascript

1.怎樣在master與其它分支之間切換java

2.怎樣查看當前分支git

3.怎樣合併分支到master主分支github

4.怎樣刪除分支,何時能夠刪除分支,這樣作的意義在什麼地方安全

5.怎樣將本地庫上傳到githubruby

6.怎樣將github上的內容,clone到本地服務器

 

 

加入有個learn文件夾。要從github中clone資源,那麼須要先進入到learn文件夾下,才能克隆到這個文件夾下,否則就會到別的文件夾。ssh

可是當操做某個資源文件時,須要先進入該資源所在文件夾下,而不是上一級。ui

 

 

 

mkdir 建立知識庫spa

git init;   初始化知識庫,創建.git文件

在知識庫中添加本身須要不斷變動的文本文件

git add yourfilename

git commit -m "描述你對該版本作出的更改"

git status 查看當前文本的狀態

git diff yourfilename  查看更改的地方

---------------------------------------------------------------------

git log 查看版本的歷史記錄

git  log --pretty=oneline    以縮略的形式顯示文本更改的狀況

 git reset --hard HEAD^   回退到上個版本      ~ 符號指明回退到第幾個版本

----------------------------------------------------------------

回到上個版本會把最新版本的刪去,就是在git log下找不信息。

這時能夠經過。

git reflog 查看commit id.而後找回。

-----------------------------------------------------------------------------------------

廖雪峯的總結:

場景一、當你改亂了工做區某個文件的內容,想直接丟棄工做區的修改時,用命令git checkout -- file

場景2:當你不但改亂了工做區某個文件的內容,還添加到了暫存區時,想丟棄修改,分兩步,第一步用命令git reset HEAD file,就回到了場景1,第二步按場景1操做。

場景3:已經提交了不合適的修改到版本庫時,想要撤銷本次提交,參考版本回退一節,不過前提是沒有推送到遠程庫

 

-----------------------------------------------------------------------------------------------------------------

 

ssh-keygen -t rsa -C "821658917@qq.com"   建立私人密鑰

推送到github上:git remote add origin git@github.com:AaronCos/learngit.git

 

----------------------------------------------------------------------------------------------------------------

1.將本地的推送到遠程的github服務器

使用命令git remote add origin git@server-name:path/repo-name.git

關聯後,使用命令git push -u origin master第一次推送master分支的全部內容;

此後,每次本地提交後,只要有必要,就可使用命令git push origin master推送最新修改

2.將遠程的github服務器上的內容克隆到本地。

git clone git@github.com:AaronCos/gitskills.git     其中gitskills.git是知識庫,git後綴須要本身添加

3.

----------------------------------------------------------------------------------------------------------------------------------

分支管理

建立與合併分支

閱讀: 983694

版本回退裏,你已經知道,每次提交,Git都把它們串成一條時間線,這條時間線就是一個分支。截止到目前,只有一條時間線,在Git裏,這個分支叫主分支,即master分支。HEAD嚴格來講不是指向提交,而是指向mastermaster纔是指向提交的,因此,HEAD指向的就是當前分支。

一開始的時候,master分支是一條線,Git用master指向最新的提交,再用HEAD指向master,就能肯定當前分支,以及當前分支的提交點:

git-br-initial

每次提交,master分支都會向前移動一步,這樣,隨着你不斷提交,master分支的線也愈來愈長:


當咱們建立新的分支,例如dev時,Git新建了一個指針叫dev,指向master相同的提交,再把HEAD指向dev,就表示當前分支在dev上:

git-br-create

你看,Git建立一個分支很快,由於除了增長一個dev指針,改改HEAD的指向,工做區的文件都沒有任何變化!

不過,從如今開始,對工做區的修改和提交就是針對dev分支了,好比新提交一次後,dev指針往前移動一步,而master指針不變:

git-br-dev-fd

假如咱們在dev上的工做完成了,就能夠把dev合併到master上。Git怎麼合併呢?最簡單的方法,就是直接把master指向dev的當前提交,就完成了合併:

git-br-ff-merge

因此Git合併分支也很快!就改改指針,工做區內容也不變!

合併完分支後,甚至能夠刪除dev分支。刪除dev分支就是把dev指針給刪掉,刪掉後,咱們就剩下了一條master分支:

git-br-rm

真是太神奇了,你看得出來有些提交是經過分支完成的嗎?


下面開始實戰。

首先,咱們建立dev分支,而後切換到dev分支:

$ git checkout -b dev Switched to a new branch 'dev' 

git checkout命令加上-b參數表示建立並切換,至關於如下兩條命令:

$ git branch dev $ git checkout dev Switched to branch 'dev' 

而後,用git branch命令查看當前分支:

$ git branch * dev master 

git branch命令會列出全部分支,當前分支前面會標一個*號。

而後,咱們就能夠在dev分支上正常提交,好比對readme.txt作個修改,加上一行:

Creating a new branch is quick. 

而後提交:

$ git add readme.txt $ git commit -m "branch test" [dev fec145a] branch test 1 file changed, 1 insertion(+) 

如今,dev分支的工做完成,咱們就能夠切換回master分支:

$ git checkout master Switched to branch 'master' 

切換回master分支後,再查看一個readme.txt文件,剛纔添加的內容不見了!由於那個提交是在dev分支上,而master分支此刻的提交點並無變:

git-br-on-master

如今,咱們把dev分支的工做成果合併到master分支上:

$ git merge dev Updating d17efd8..fec145a Fast-forward readme.txt | 1 + 1 file changed, 1 insertion(+) 

git merge命令用於合併指定分支到當前分支。合併後,再查看readme.txt的內容,就能夠看到,和dev分支的最新提交是徹底同樣的。

注意到上面的Fast-forward信息,Git告訴咱們,此次合併是「快進模式」,也就是直接把master指向dev的當前提交,因此合併速度很是快。

固然,也不是每次合併都能Fast-forward,咱們後面會講其餘方式的合併。

合併完成後,就能夠放心地刪除dev分支了:

$ git branch -d dev Deleted branch dev (was fec145a). 

刪除後,查看branch,就只剩下master分支了:

$ git branch * master 

由於建立、合併和刪除分支很是快,因此Git鼓勵你使用分支完成某個任務,合併後再刪掉分支,這和直接在master分支上工做效果是同樣的,但過程更安全。


小結

Git鼓勵大量使用分支:

查看分支:git branch

建立分支:git branch <name>

切換分支:git checkout <name>

建立+切換分支:git checkout -b <name>

合併某分支到當前分支:git merge <name>

刪除分支:git branch -d <name>

 

 

--------------------------------------------------------------------------------------------------------------------------------

相關文章
相關標籤/搜索