Pertanyaan Cabang dari commit sebelumnya menggunakan Git


Jika saya memiliki n komit, bagaimana saya bisa bercabang dari komit n-3?

Saya bisa melihat hash dari setiap commit.


1270
2018-05-12 07:21


asal


Jawaban:


Anda dapat membuat cabang melalui hash:

git branch branchname <sha1-of-commit>

Atau dengan menggunakan referensi simbolis:

git branch branchname HEAD~3

Untuk checkout cabang saat membuatnya, gunakan

git checkout -b branchname <sha1-of-commit or HEAD~3>

1775
2018-05-12 07:24



Untuk melakukan ini di github.com:

  1. Pergi ke proyek Anda.
  2. Klik pada "Komit".
  3. Klik pada <> ("Jelajahi repositori pada titik ini dalam sejarah") pada commit yang ingin Anda bagikan.
  4. Klik pada "pohon: xxxxxx" di kiri atas. Tepat di bawah bilah statistik bahasa, Anda akan mendapatkan opsi untuk "Temukan atau Buat Cabang" (cukup ketik nama cabang baru di sana) Branch from previous commit

176
2017-08-08 22:08



Jika Anda tidak yakin komit mana yang ingin Anda bagikan dari awal Anda dapat memeriksa komitmen dan memeriksa kode mereka (lihat sumber, kompilasi, uji) oleh

git checkout <sha1-of-commit>

setelah Anda menemukan commit yang ingin Anda bagikan dari Anda dapat melakukannya dari dalam commit (yaitu tanpa kembali ke master terlebih dahulu) hanya dengan membuat cabang dengan cara biasa:

git checkout -b <branch_name>

54
2018-02-10 16:43



Sihir bisa dilakukan dengan git ulang.

  1. Buat cabang baru dan beralihlah ke sana (sehingga semua commit terbaru Anda disimpan di sini)

    git checkout -b your_new_branch

  2. Beralih kembali ke cabang kerja Anda sebelumnya (anggaplah itu master)

    git checkout master

  3. Hapus x commit terbaru, jaga master tetap bersih

    git reset --hard HEAD~x # in your case, x = 3

Mulai saat ini, semua x commit terbaru hanya ada di cabang baru, bukan di cabang kerja Anda sebelumnya (master) lagi.


50
2017-08-03 09:04



git checkout -b <branch-name> <sha1-of-commit>

17
2017-07-11 07:11



Cara cepat untuk melakukannya di repo Github Anda akan seperti yang diikuti:

  • Temukan komitmen spesifik dari cabang Anda
  • Selain id SHA, klik 'Jelajahi repo pada titik ini dalam sejarah'
  • Di sini Anda dapat membuat cabang baru dari commit ini enter image description here 

6
2018-01-14 17:51



Anda dapat melakukannya di Stash.

  1. Klik komit
  2. Di sebelah kanan atas layar, klik "Tandai commit ini"
  3. Kemudian Anda dapat membuat cabang baru dari tag yang baru Anda buat.

4
2018-01-18 17:20



Untuk melakukan ini di Eclipse:

  • Pergi ke "Git Repository Exploring" Perspektif.
  • Perluas "Tag" dan pilih komit dari mana Anda ingin membuat cabang.
  • Klik kanan pada commit dan pilih "Create Branch".
  • Berikan nama cabang.

Ini akan membuat cabang lokal untuk Anda. Kemudian setiap kali Anda mendorong perubahan Anda, cabang Anda akan didorong ke server jauh.


4
2018-05-17 12:03



Pertanyaan terkait yang bagus adalah: Bagaimana cara Anda mengetahuinya dengan menggunakan --help pilihan git? Mari coba ini:

git branch --help

Kami melihat output ini:

NAME
       git-branch - List, create, or delete branches    

SYNOPSIS
       git branch [--color[=<when>] | --no-color] [-r | -a]
               [--list] [-v [--abbrev=<length> | --no-abbrev]]
               [--column[=<options>] | --no-column]
               [(--merged | --no-merged | --contains) [<commit>]] [--sort=<key>]
               [--points-at <object>] [<pattern>...]
       git branch [--set-upstream | --track | --no-track] [-l] [-f] <branchname> [<start-point>]
       git branch (--set-upstream-to=<upstream> | -u <upstream>) [<branchname>]
       git branch --unset-upstream [<branchname>]
       git branch (-m | -M) [<oldbranch>] <newbranch>
       git branch (-d | -D) [-r] <branchname>...
       git branch --edit-description [<branchname>]

Gobbledegook.

Cari melalui teks berikutnya untuk kata "commit". Kami menemukan ini:

   <start-point>
       The new branch head will point to this commit. It may be given as a branch name, a
       commit-id, or a tag. If this option is omitted, the current HEAD will be used instead.

Kita akan sampai di suatu tempat!

Sekarang, fokus pada baris gobbledegook ini:

git branch [--set-upstream | --track | --no-track] [-l] [-f] <branchname> [<start-point>]

Ringkaslah dengan ini:

git branch <branchname> [<start-point>]

Dan selesai.


3
2017-07-19 16:35