<menu id="ycqsw"></menu><nav id="ycqsw"><code id="ycqsw"></code></nav>
<dd id="ycqsw"><menu id="ycqsw"></menu></dd>
  • <nav id="ycqsw"></nav>
    <menu id="ycqsw"><strong id="ycqsw"></strong></menu>
    <xmp id="ycqsw"><nav id="ycqsw"></nav>
  • github刪除項目的文件夾(本地文件夾上傳github)


    一、git使用前準備

    git本地倉庫與github遠程倉庫連接時要有認證,是通過SSH的公鑰進行認證的。創建SSH公鑰并將添加到github中

    在用戶目錄下查看.ssh文件夾

    git及github的使用

    如果沒有這個文件夾或者文件,需要手動創建

    在Program Files文件夾下找到Git/bin目錄,雙擊sh.exe

    git及github的使用

    輸入以下命令,一路回車會創建.ssh文件夾和其中的密鑰

    $ ssh-keygen -t rsa -C "xxxx@xx.xx"

    用記事本打開id_rsa.pub文件,將其中的公鑰復制。

    打開https://github.com,打開設置頁

    git及github的使用
    git及github的使用

    將前面復制的公鑰粘貼到文本框中

    git及github的使用

    現在就建立了本地倉庫與遠程倉庫之前的認證。驗證

    git及github的使用

    二、github遠程倉庫創建

    git及github的使用
    git及github的使用
    git及github的使用

    本地倉庫與遠程倉庫的連接有三種方式:

    1. 初始化本地倉庫,然后將本地倉庫推送到遠程倉庫;
    2. 將一個已有的本地倉庫推送到遠程倉庫;
    3. clone一個遠程倉庫到本地。

    三、git基本操作

    初始化:git init

    新建一個文件夾gitdemo并初始化

    $ cd g:
     
    Administrator@User-14 MINGW64 /g
    $ mkdir gitdemo
     
    Administrator@User-14 MINGW64 /g (master)
    $ cd gitdemo
     
    Administrator@User-14 MINGW64 /g/gitdemo
    $ git init
    Initialized empty Git repository in G:/gitdemo/.git/
     
    Administrator@User-14 MINGW64 /g/gitdemo (master)
    $

    初始化會在當前文件夾下創建一個.git的文件夾,此文件夾存儲著管理當前目錄內容所需的倉庫數據。

    查看本地倉庫狀態: git status

    Administrator@User-14 MINGW64 /g/gitdemo (master)
    $ git status
    On branch master    //當前在master分支
     
    No commits yet      //沒有過提交記錄
     
    nothing to commit (create/copy files and use "git add" to track) //暫存區沒有要提交的文件

    在當前文件夾下創建一個文件后再次查看倉庫狀態

    git及github的使用
    $ git status
    On branch master
     
    No commits yet   //沒有過提交記錄
     
    Untracked files:           //存在一個沒有被git跟蹤的文件
      (use "git add <file>..." to include in what will be committed)
     
            test.txt
    //沒有需要提交的,但是存在沒有被git跟蹤的文件
    nothing added to commit but untracked files present (use "git add" to track)

    將文件添加到暫存區:git add 文件名/git add .

    git add .代表的是添加所有的文件到暫存區

    上面創建的test.txt文件,由于沒有git操作因此是不會被git跟蹤的,git向倉庫中添加要先將工作區文件添加到暫存區后才能提交到倉庫。

    Administrator@User-14 MINGW64 /g/gitdemo (master)
    $ git add test.txt   //將文件添加到暫存區
     
    Administrator@User-14 MINGW64 /g/gitdemo (master)
    $ git status
    On branch master
     
    No commits yet
     
    Changes to be committed:    //暫存區中沒有提交的文件
      (use "git rm --cached <file>..." to unstage)
     
            new file:   test.txt

    當test.txt文件內容更改時,再次查看狀態

    $ git status
    On branch master
     
    No commits yet
     
    Changes to be committed:  //暫存區中存在沒有被提交的文件
      (use "git rm --cached <file>..." to unstage)
     
            new file:   test.txt
     
    Changes not staged for commit:  //文件改變了但是沒有添加到暫存區
      (use "git add <file>..." to update what will be committed)
      (use "git checkout -- <file>..." to discard changes in working directory)
     
            modified:   test.txt
     

    提交暫存區文件到本地倉庫:git commit -m “description”

    Administrator@User-14 MINGW64 /g/gitdemo (master)
    $ git commit -m "first"    //提交暫存區文件
    [master (root-commit) dc1a2af] first
     1 file changed, 1 insertion(+)
     create mode 100644 test.txt
     
    ========text.txt文件改變了===========
     
    Administrator@User-14 MINGW64 /g/gitdemo (master)
    $ git status
    On branch master
    Changes not staged for commit:  //以下文件存在改動但是沒有提交暫存區
      (use "git add <file>..." to update what will be committed)
      (use "git checkout -- <file>..." to discard changes in working directory)
     
            modified:   test.txt
     
    no changes added to commit (use "git add" and/or "git commit -a")
     
    =================添加改動的文件到暫存區后再提交========================
     
    Administrator@User-14 MINGW64 /g/gitdemo (master)
    $ git add .
     
    Administrator@User-14 MINGW64 /g/gitdemo (master)
    $ git commit -m "second"
    g[master 3e6b279] second
     1 file changed, 1 insertion(+), 1 deletion(-)
     
    Administrator@User-14 MINGW64 /g/gitdemo (master)
    $ git status
    On branch master
    nothing to commit, working tree clean

    查看提交日志:git log /git log –pretty=short /git log test.txt /git log -p /git log -p test.txt

    Administrator@User-14 MINGW64 /g/gitdemo (master)
    $ git log
    commit 3e6b279f80f8496bcc7ffff73ab3d6e9727aeed3 (HEAD -> master)
    Author: Administrator <woodlum@vip.qq.com>
    Date:   Wed Jan 6 11:31:35 2021 +0800
     
        second
     
    commit dc1a2afcb88674bd7ff34afe5d5ef9d93d2253b4
    Author: Administrator <woodlum@vip.qq.com>
    Date:   Wed Jan 6 11:27:10 2021 +0800
     
        first
     
    =================顯示信息簡寫===============
    Administrator@User-14 MINGW64 /g/gitdemo (master)
    $ git log --pretty=short
    commit 3e6b279f80f8496bcc7ffff73ab3d6e9727aeed3 (HEAD -> master)
    Author: Administrator <woodlum@vip.qq.com>
     
        second
     
    commit dc1a2afcb88674bd7ff34afe5d5ef9d93d2253b4
    Author: Administrator <woodlum@vip.qq.com>
     
        first
    ==============查看指定文件的提交日志=============
    Administrator@User-14 MINGW64 /g/gitdemo (master)
    $ git log test.txt
    commit 3e6b279f80f8496bcc7ffff73ab3d6e9727aeed3 (HEAD -> master)
    Author: Administrator <woodlum@vip.qq.com>
    Date:   Wed Jan 6 11:31:35 2021 +0800
     
        second
     
    commit dc1a2afcb88674bd7ff34afe5d5ef9d93d2253b4
    Author: Administrator <woodlum@vip.qq.com>
    Date:   Wed Jan 6 11:27:10 2021 +0800
     
        first
    ==============查看文件的詳細改動-p=============
    $ git log -p    //或者git log -p test.txt
    commit 3e6b279f80f8496bcc7ffff73ab3d6e9727aeed3 (HEAD -> master)
    Author: Administrator <woodlum@vip.qq.com>
    Date:   Wed Jan 6 11:31:35 2021 +0800
     
        second
     
    diff --git a/test.txt b/test.txt
    index e4a7dd9..f6ce845 100644
    --- a/test.txt
    +++ b/test.txt   
    @@ -1 +1 @@
    -aaaaa                         //改動之前內容
     No newline at end of file
    +aaaaabb                       //此處能看到內容變化
     No newline at end of file
     
    commit dc1a2afcb88674bd7ff34afe5d5ef9d93d2253b4
    Author: Administrator <woodlum@vip.qq.com>
    Date:   Wed Jan 6 11:27:10 2021 +0800
     
        first
     
    diff --git a/test.txt b/test.txt
    new file mode 100644
    index 0000000..e4a7dd9
    --- /dev/null
    +++ b/test.txt
    @@ -0,0 +1 @@
    +aaaaa                     //此處能看到內容變化
     No newline at end of file

    查看操作日志:git reflog

    Administrator@User-14 MINGW64 /g/gitdemo (master)
    $ git reflog
    d76d79a (HEAD -> master, A) HEAD@{0}: reset: moving to d76d79a
    d76d79a (HEAD -> master, A) HEAD@{1}: reset: moving to d76d79a
    31a3585 HEAD@{2}: reset: moving to 31a3585
    d76d79a (HEAD -> master, A) HEAD@{3}: merge A: Fast-forward
    31a3585 HEAD@{4}: checkout: moving from A to master
    d76d79a (HEAD -> master, A) HEAD@{5}: commit: a1
    31a3585 HEAD@{6}: checkout: moving from master to A
    31a3585 HEAD@{7}: commit (initial): m1

    查看工作區和暫存區差異:git diff

    //先修改test.txt文件內容
    Administrator@User-14 MINGW64 /g/gitdemo (master)
    $ git diff
    diff --git a/test.txt b/test.txt
    index f6ce845..4e7ce06 100644
    --- a/test.txt
    +++ b/test.txt
    @@ -1 +1 @@
    -aaaaabb 
     No newline at end of file
    +aaaaabbccc             //文件內容改變之后的內容
     No newline at end of file
     
    Administrator@User-14 MINGW64 /g/gitdemo (master)
    $ git add .         //添加到暫存區后,diff就沒有差異了因此不會顯示內容
     
    Administrator@User-14 MINGW64 /g/gitdemo (master)
    $ git diff

    查看工作區與最新提交差異:git diff HEAD

    //先修改test.txt文件內容
    Administrator@User-14 MINGW64 /g/gitdemo (master)
    $ git diff               //工作區與暫存區差異
    diff --git a/test.txt b/test.txt
    index 4e7ce06..9f67a57 100644
    --- a/test.txt
    +++ b/test.txt
    @@ -1 +1 @@
    -aaaaabbccc
     No newline at end of file
    +aaaaabbcccd
     No newline at end of file
     
    Administrator@User-14 MINGW64 /g/gitdemo (master)
    $ git add . 
     
    //添加到暫存區后無差異
    Administrator@User-14 MINGW64 /g/gitdemo (master)
    $ git diff
     
    //工作區與最新提交的差異,HEAD指向最新提交的記錄
    Administrator@User-14 MINGW64 /g/gitdemo (master)
    $ git diff HEAD
    diff --git a/test.txt b/test.txt
    index 4e7ce06..9f67a57 100644
    --- a/test.txt
    +++ b/test.txt
    @@ -1 +1 @@
    -aaaaabbccc
     No newline at end of file
    +aaaaabbcccd
     No newline at end of file

    四、分支操作

    git默認分支為master,以此基礎上創建不同的分支,由不可的開發人員進行修改,然后再進行合并到master分支。分支有利于版本控制和團隊協作。

    git及github的使用

    查看分支列表:git branch

    Administrator@User-14 MINGW64 /g/gitdemo (master)
    $ git branch
    * master              //分支名前帶有*號表示當前所在的分支

    分支的創建與切換

    1. 分支創建git branch XX
    2. 分支切換git checkout XX
    3. 分支創建并切換git checkout -b XX
    4. 切換上一個分支git checkout –
    Administrator@User-14 MINGW64 /g/gitdemo (master)
    $ git branch A   //1創建分支A
     
    Administrator@User-14 MINGW64 /g/gitdemo (master)
    $ git branch     //分支列表,當前分支還是在主分支上
      A
    * master
     
    Administrator@User-14 MINGW64 /g/gitdemo (master)
    $ git checkout A    //2切換當前分支為A
    Switched to branch 'A'
    M       test.txt
     
    Administrator@User-14 MINGW64 /g/gitdemo (A)
    $ git branch    //分支列表顯示當前分支為A
    * A
      master
     
    Administrator@User-14 MINGW64 /g/gitdemo (A)
    $ git checkout master    //切換到主分支上
    Switched to branch 'master'
    M       test.txt
     
    ====================
    Administrator@User-14 MINGW64 /g/gitdemo (master)
    $ git checkout -b B   //創建分支B并切換到B
    Switched to a new branch 'B'
    M       test.txt
     
    Administrator@User-14 MINGW64 /g/gitdemo (B)
    $ git branch      //分支列表顯示當前為B分支
      A
    * B
      master
     
    Administrator@User-14 MINGW64 /g/gitdemo (B)
    $ git checkout -   //切換上一個分支master
    Switched to branch 'master'
    M       test.txt

    番外:

    1. git checkout master^ 使HEAD指向當前的上一記錄。
    2. git checkout master~1 等同上行。
    3. git checkout master~n 使HEAD指向當前的上n條記錄處。

    分支的刪除:git branch -D fname

    Administrator@User-14 MINGW64 /g/gitdemo (master)
    $ git branch -D B
    Deleted branch B (was 670ec48).
     
    Administrator@User-14 MINGW64 /g/gitdemo (master)
    $ git branch
    * master

    git branch -f bugFix master 強制bugFix分支指向master

    分支的合并:git merge fname

    //先要切換到合并后的分支
    Administrator@User-14 MINGW64 /g/gitdemo (A)
    $ git branch master
    fatal: A branch named 'master' already exists.
     
    Administrator@User-14 MINGW64 /g/gitdemo (A)
    $ git merge A
    Already up to date.

    圖形查看日志:git log –graph

    Administrator@User-14 MINGW64 /g/gitdemo (master)
    $ git log --graph
    * commit d76d79a34d1153c619297dd8fc3013c00cc8f9e8 (HEAD -> master, A)
    | Author: Administrator <woodlum@vip.qq.com>
    | Date:   Wed Jan 6 15:20:27 2021 +0800
    |
    |     a1
    |
    * commit 31a3585df1ebb5b744689ba1b7530c525c4c4271
      Author: Administrator <woodlum@vip.qq.com>
      Date:   Wed Jan 6 15:19:25 2021 +0800
          m1

    五、更改提交的操作

    回溯歷史版本:git reset

    //查看操作日志
    Administrator@User-14 MINGW64 /g/gitdemo (master)
    $ git reflog
    d76d79a (HEAD -> master, A) HEAD@{0}: reset: moving to d76d79a
    d76d79a (HEAD -> master, A) HEAD@{1}: reset: moving to d76d79a
    31a3585 HEAD@{2}: reset: moving to 31a3585
    d76d79a (HEAD -> master, A) HEAD@{3}: merge A: Fast-forward
    31a3585 HEAD@{4}: checkout: moving from A to master
    d76d79a (HEAD -> master, A) HEAD@{5}: commit: a1
    31a3585 HEAD@{6}: checkout: moving from master to A
    31a3585 HEAD@{7}: commit (initial): m1
     
    //回溯到A分支創建之前
    Administrator@User-14 MINGW64 /g/gitdemo (master)
    $ git reset --hard 31a3585
    HEAD is now at 31a3585 m1
     
    //創建B分支
    Administrator@User-14 MINGW64 /g/gitdemo (master)
    $ git checkout -b B
    Switched to a new branch 'B'
     
    //修改文件內容并提交
    Administrator@User-14 MINGW64 /g/gitdemo (B)
    $ git add .
     
    Administrator@User-14 MINGW64 /g/gitdemo (B)
    $ git commit -m "b1"
    [B 69eb4b2] b1
     1 file changed, 1 insertion(+), 1 deletion(-)
     
    Administrator@User-14 MINGW64 /g/gitdemo (B)
    $ git reflog
    69eb4b2 (HEAD -> B) HEAD@{0}: commit: b1  //提交B分支的修改
    31a3585 (master) HEAD@{1}: checkout: moving from master to B  //創建B分支并切換
    31a3585 (master) HEAD@{2}: reset: moving to 31a3585    //回溯到A分支之前
    d76d79a (A) HEAD@{3}: reset: moving to d76d79a
    d76d79a (A) HEAD@{4}: reset: moving to d76d79a
    31a3585 (master) HEAD@{5}: reset: moving to 31a3585
    d76d79a (A) HEAD@{6}: merge A: Fast-forward
    31a3585 (master) HEAD@{7}: checkout: moving from A to master
    d76d79a (A) HEAD@{8}: commit: a1
    31a3585 (master) HEAD@{9}: checkout: moving from master to A
    31a3585 (master) HEAD@{10}: commit (initial): m1
     
    //推進到分支A合并到master位置
    Administrator@User-14 MINGW64 /g/gitdemo (master)
    $ git reset --hard d76d79a
    HEAD is now at d76d79a a1

    沖突消除

    //前面已經合并了A分支,現在合并B分支,會發現更改部分沖突
    Administrator@User-14 MINGW64 /g/gitdemo (master)
    $ git merge B
    Auto-merging test.txt
    CONFLICT (content): Merge conflict in test.txt
    Automatic merge failed; fix conflicts and then commit the result.
     
    Administrator@User-14 MINGW64 /g/gitdemo (master|MERGING)
    $
    git及github的使用

    將test文件修改為想要提交的內容,然后add和commit即可

    git及github的使用
    Administrator@User-14 MINGW64 /g/gitdemo (master|MERGING)
    $ git add .
     
    Administrator@User-14 MINGW64 /g/gitdemo (master|MERGING)
    $ git commit -m "消除沖突"
    [master 1759d05] 消除沖突
     
    Administrator@User-14 MINGW64 /g/gitdemo (master)
    $ git log
    commit 1759d05a5dc0d1eaf402fae97f21aa3c014e31d5 (HEAD -> master)
    Merge: d76d79a 69eb4b2
    Author: Administrator <woodlum@vip.qq.com>
    Date:   Wed Jan 6 16:14:38 2021 +0800
     
        消除沖突
     
    commit 69eb4b22a38b70a3d054534fdfce8a24fba1a15d (B)
    Author: Administrator <woodlum@vip.qq.com>
    Date:   Wed Jan 6 15:33:42 2021 +0800
     
        b1
     
    commit d76d79a34d1153c619297dd8fc3013c00cc8f9e8 (A)
    Author: Administrator <woodlum@vip.qq.com>
    Date:   Wed Jan 6 15:20:27 2021 +0800
     
        a1
     
    commit 31a3585df1ebb5b744689ba1b7530c525c4c4271
    Author: Administrator <woodlum@vip.qq.com>
    Date:   Wed Jan 6 15:19:25 2021 +0800
     
        m1

    修改commit信息:git commit –amend

    將上面的commit信息“消除沖突”修改為“merge-B”

    Administrator@User-14 MINGW64 /g/gitdemo (master)
    $ git commit --amend
    [master f4d38a7] merge-B
     Date: Wed Jan 6 16:14:38 2021 +0800

    這時會打開編程器

    git及github的使用

    按i鍵或者Insert鍵進行編程模式

    git及github的使用

    按ESC鍵進入命令模式,輸入 :wq保存或者:q!不保存退出,查看reflog日志

    Administrator@User-14 MINGW64 /g/gitdemo (master)
    $ git reflog
    f4d38a7 HEAD@{0}: commit (amend): merge-B  //已經修改了
    1759d05 HEAD@{1}: commit (merge): 消除沖突
    d76d79a (A) HEAD@{3}: checkout: moving from A to master

    壓縮記錄:git rebase -i

    git rebase 分支名:將當前分支的記錄合并到其他分支中,使記錄成線性化。

    當我們在合并分支之前發現有拼寫錯誤,這時我們再次提交會出現新的記錄,但是拼寫錯誤這條記錄我們不希望出現在歷史記錄中,我們需要將這條記錄和前一記錄合并。

    創建分支C,將test內容改為masterCc,其中c小寫是錯誤的,我們要求大寫,不過之前沒有發現,現在已經提交了一次,如果修改后再提交就會有兩條記錄。

    //git commit -am add與commit的合寫
    Administrator@User-14 MINGW64 /g/gitdemo (C)
    $ git commit -am "c1"
    [C 5b8616b] c1
     1 file changed, 1 insertion(+), 1 deletion(-)
     
    ====修正錯誤====
     
    Administrator@User-14 MINGW64 /g/gitdemo (C)
    $ git commit -am "修改拼寫錯誤"
    [C d6d54d6] 修改拼寫錯誤
     1 file changed, 1 insertion(+), 1 deletion(-)
     
    //現在可以看到有兩條記錄,我們現在只需要保留c1這條記錄,因此需要將記錄壓縮在一塊
    Administrator@User-14 MINGW64 /g/gitdemo (C)
    $ git log
    commit d6d54d60acededdc2994d9e245942afc1f464655 (HEAD -> C)
    Author: Administrator <woodlum@vip.qq.com>
    Date:   Wed Jan 6 16:42:27 2021 +0800
     
        修改拼寫錯誤
     
    commit 5b8616b2f04ffe0473859862efc7f167b3e26835
    Author: Administrator <woodlum@vip.qq.com>
    Date:   Wed Jan 6 16:34:17 2021 +0800
     
        c1
    //壓縮最新的兩條記錄,會打開編程器,~2表示合并最新的兩條記錄
    $ git rebase -i HEAD~2

    刪除第二行,:wq保存并退出

    git及github的使用
    //現在看就沒有那個修改拼寫錯誤的記錄了
    Administrator@User-14 MINGW64 /g/gitdemo (C)
    $ git log
    commit a2f721c9f2c215bf245aa842128bc5094d2c0042 (HEAD -> C)
    Author: Administrator <woodlum@vip.qq.com>
    Date:   Wed Jan 6 17:02:06 2021 +0800
     
        c1

    六、向遠程倉庫GitHub推送

    前面我們在github上已經建立了一個同名的gitdemo遠程倉庫,本地倉庫與遠程倉庫名稱盡量保持一致。

    添加遠程倉庫:git remote add 標識符 遠程倉庫地址

    此命令相當于給遠程倉庫設置一個別名(標識符),以后的操作直接在這個別名上操作。

    Administrator@User-14 MINGW64 /g/gitdemo (master)
    $ git remote add origin git@github.com:woodlum2017/gitdemo.git

    將本地倉庫中的內容推送到遠程倉庫:git push -u 標識符 遠程分支名

    Administrator@User-14 MINGW64 /g/gitdemo (master)
    $ git push -u origin master
    Enumerating objects: 18, done.
    Counting objects: 100% (18/18), done.
    Delta compression using up to 4 threads
    Compressing objects: 100% (6/6), done.
    Writing objects: 100% (18/18), 1.26 KiB | 215.00 KiB/s, done.
    Total 18 (delta 1), reused 0 (delta 0)
    remote: Resolving deltas: 100% (1/1), done.
    To github.com:woodlum2017/gitdemo.git
     * [new branch]      master -> master
    Branch 'master' set up to track remote branch 'master' from 'origin'.

    -u參數:在推送的同時,將origin倉庫的master分支設置為本地倉庫當前分支的upstream(上游)當前分支與遠程分支建立了對應關系,同時如果遠程倉庫沒有master分支同時會創建。

    a.在本地master分支中運行git pull命令從遠程倉庫的master分支獲取內容;

    b.在本地master分支中支行git push直接推送。

    如果在其他分支中操作會產生錯誤,需要手動指定pull和push的倉庫和分支。

    Administrator@User-14 MINGW64 /g/gitdemo (master)
    $ git pull
    Already up to date.
     
    Administrator@User-14 MINGW64 /g/gitdemo (master)
    $ git push
    Everything up-to-date
     
    ==============手動推送=================
    Administrator@User-14 MINGW64 /g/gitdemo (master)
    $ git checkout B
    Switched to branch 'B'
     
    Administrator@User-14 MINGW64 /g/gitdemo (B)
    $ git push origin B
    Total 0 (delta 0), reused 0 (delta 0)
    remote:
    remote: Create a pull request for 'B' on GitHub by visiting:
    remote:      https://github.com/woodlum2017/gitdemo/pull/new/B
    remote:
    To github.com:woodlum2017/gitde

    七、從遠程倉庫GitHub中獲取

    獲取遠程倉庫:git clone 遠程倉庫地址

    執行git clone命令后我們會默認處于master分支下,同時系統會自動將origin設置成該遠程倉庫的標識符。

    git branch -a //-a會顯示本地和遠程倉庫的信息

    新建一個文件夾gitdemo2

    Administrator@User-14 MINGW64 /g/gitdemo2 (master)
    $ git clone git@github.com:woodlum2017/gitdemo.git
    Cloning into 'gitdemo'...
    remote: Enumerating objects: 21, done.
    remote: Counting objects: 100% (21/21), done.
    remote: Compressing objects: 100% (7/7), done.
    remote: Total 21 (delta 1), reused 18 (delta 1), pack-reused 0
    Receiving objects: 100% (21/21), done.
    Resolving deltas: 100% (1/1), done.
     
    Administrator@User-14 MINGW64 /g/gitdemo2 (master)
    $ cd gitdemo
     
    Administrator@User-14 MINGW64 /g/gitdemo2/gitdemo (master)
    $ git branch -a   //-a會顯示本地和遠程倉庫的信息
    * master
      remotes/origin/B
      remotes/origin/HEAD -> origin/master
      remotes/origin/master
    git及github的使用

    獲取遠程倉庫中的其他分支

    git checkout -b B origin/B

    創建一個新的本地分支B并切換,并獲取遠程倉庫中的B分支數據

    Administrator@User-14 MINGW64 /g/gitdemo2/gitdemo (master)
    $ git checkout -b  B origin/B
    Switched to a new branch 'B'
    Branch 'B' set up to track remote branch 'B' from 'origin'.
     
    ======修改數據后提交并推送=====
    Administrator@User-14 MINGW64 /g/gitdemo2/gitdemo (B)
    $ git commit -am "D1"
    [B 7c90c0d] D1
     1 file changed, 1 insertion(+), 1 deletion(-)
     
    Administrator@User-14 MINGW64 /g/gitdemo2/gitdemo (B)
    $ git push
    Enumerating objects: 5, done.
    Counting objects: 100% (5/5), done.
    Writing objects: 100% (3/3), 250 bytes | 250.00 KiB/s, done.
    Total 3 (delta 0), reused 0 (delta 0)
    To github.com:woodlum2017/gitdemo.git
       ff94ca5..7c90c0d  B -> B

    獲取最新的遠程分支git pull

    假設當前分支為B,而遠程上最新的分支是master,我們需要分支B中的數據是最新的。

    Administrator@User-14 MINGW64 /g/gitdemo2/gitdemo (master)
    $ git checkout B
    Switched to branch 'B'
     
    Administrator@User-14 MINGW64 /g/gitdemo2/gitdemo (B)
    $ git pull origin master
    From github.com:woodlum2017/gitdemo
     * branch            master     -> FETCH_HEAD
    Merge made by the 'recursive' strategy.
     test.txt | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)

    關于多人協作,多人在同一個分支中操作,commit后push給遠程倉庫分支,如果多個人對同一個文件修改在push時會提示沖突,因此我們需要更加頻繁的pull/push操作。

    盡量不要多人修改同一個文件,每次分支修改前先pull倉庫中的數據,修改后再push推送。

    版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。

    發表評論

    登錄后才能評論
    国产精品区一区二区免费