java php laravel linux mysql sql bootstrap html css query java php laravel linux mysql sql bootstrap html css query

Friday, January 24, 2025

Error Git

      

Mengatasi Error Git: Your Branch and 'origin/master' Have Diverged

Ketika bekerja dengan Git, Anda mungkin menghadapi error berikut saat mencoba melakukan push project:



On branch master
Your branch and 'origin/master' have diverged,
and have 1 and 3 different commits each, respectively.
  (use "git pull" to merge the remote branch into yours)

Pesan ini menunjukkan bahwa branch lokal (master) Anda memiliki 1 commit yang belum di-push ke remote, sedangkan branch remote (origin/master) memiliki 3 commit yang belum ditarik ke lokal. Berikut adalah langkah-langkah untuk mengatasi masalah ini berdasarkan pengalaman saya.


Kronologi Error

Saat mencoba menjalankan perintah:

git push -u origin master

Git memberikan error di atas. Langkah-langkah yang saya lakukan untuk mengatasi masalah ini adalah sebagai berikut:

Langkah 1: Menjalankan git pull

Saya mencoba menarik perubahan dari branch remote dengan perintah berikut:

git pull origin master

Namun, perintah ini menghasilkan pesan tambahan:

hint: You have divergent branches and need to specify how to reconcile them.
hint: You can do so by running one of the following commands sometime before
hint: your next pull:
hint: 
  git config pull.rebase false  # merge (the default strategy)
  git config pull.rebase true   # rebase
  git config pull.ff only       # fast-forward only

fatal: Need to specify how to reconcile divergent branches.



Langkah-Langkah Penyelesaian

Langkah 2: Mengecek Perbedaan Commit

Untuk memahami perbedaan antara branch lokal dan remote, saya menjalankan perintah berikut:

  1. Melihat commit yang ada di remote tetapi tidak di lokal:

    git log --oneline master..origin/master
    

    Perintah ini menunjukkan commit yang ada di remote (origin/master) tetapi belum ditarik ke lokal (master).

  2. Melihat commit yang ada di lokal tetapi tidak di remote:

    git log --oneline origin/master..master
    

    Perintah ini menunjukkan commit yang ada di lokal (master) tetapi belum di-push ke remote (origin/master).

Langkah 3: Menarik Perubahan dengan Strategi Merge

Setelah memahami perbedaannya, saya memilih strategi merge untuk menarik perubahan dari remote tanpa melakukan rebase. Perintah yang dijalankan:

git pull --no-rebase origin master

Langkah ini berhasil menyelaraskan branch lokal dan remote tanpa mengubah sejarah commit lokal.

Langkah 4: Melakukan Push Perubahan ke Remote

Setelah menyelaraskan branch lokal dengan remote, saya melakukan push ke remote dengan perintah:

git push -u origin master



Penjelasan Strategi yang Digunakan

  • --no-rebase: Strategi ini memastikan bahwa perubahan dari remote digabungkan ke lokal melalui merge, menjaga commit asli tetap utuh.
  • -u (set upstream): Perintah ini mengatur remote branch (origin/master) sebagai branch upstream untuk branch lokal (master).

Kesimpulan

Error "Your branch and 'origin/master' have diverged" terjadi karena branch lokal dan remote memiliki sejarah commit yang berbeda. Dengan langkah-langkah di atas, Anda dapat:

  1. Memahami perbedaan antara branch lokal dan remote.
  2. Menyelaraskan perubahan dengan strategi yang sesuai (merge, rebase, atau lainnya).
  3. Melakukan push tanpa konflik.

Jika Anda sering menghadapi masalah seperti ini, Anda dapat menetapkan strategi penggabungan default untuk repository Git Anda. Misalnya, untuk menggunakan merge secara default:

git config --global pull.rebase false

Tuesday, January 21, 2025

19 composer command

19 composer command

Apa itu composer ?

Composer adalah alat manajemen dependensi untuk bahasa pemrograman PHP yang digunakan untuk mengelola pustaka atau paket yang dibutuhkan oleh sebuah proyek. Composer memungkinkan pengembang untuk mendefinisikan dependensi dalam file composer.json dan secara otomatis mengunduh serta menginstalnya. Selain itu, Composer juga mengelola versi paket yang digunakan, memastikan kompatibilitas antar pustaka yang berbeda, dan mempermudah autoloading kelas-kelas PHP. Dengan Composer, pengembang dapat fokus pada pengembangan aplikasi tanpa perlu khawatir tentang mengelola dependensi secara manual, menghemat waktu dan mengurangi potensi konflik antara pustaka yang digunakan.

Composer Command

Berikut ini adalah 19 macam perinah command yang sering digunakan:

No. Perintah Composer Keterangan Penggunaan
1 composer install Menginstal semua dependensi yang terdaftar di composer.json dan menghasilkan folder vendor.
2 composer update Memperbarui dependensi yang ada sesuai dengan versi terbaru yang diizinkan di composer.json.
3 composer require <package> Menambahkan paket baru ke dalam proyek dan memperbarui composer.json. Misalnya: composer require yajra/laravel-datatables-oracle.
4 composer remove <package> Menghapus paket dari proyek dan memperbarui composer.json.
5 composer create-project <package> Membuat proyek baru berdasarkan paket yang sudah ada. Misalnya: composer create-project laravel/laravel my-project.
6 composer dump-autoload Memperbarui file autoloader dan mengoptimalkan autoloading untuk meningkatkan kinerja.
7 composer update --dry-run Menampilkan daftar perubahan yang akan dilakukan oleh perintah composer update tanpa benar-benar melakukannya.
8 composer show Menampilkan informasi tentang paket yang terinstal dalam proyek, termasuk versi dan dependensinya.
9 composer show <package> Menampilkan informasi detail tentang satu paket, seperti versi dan dependensi.
10 composer audit Memeriksa kerentanannya pada dependensi yang terinstal dan memberi tahu jika ada masalah keamanan.
11 composer diagnose Memeriksa konfigurasi dan instalasi Composer untuk masalah yang mungkin terjadi.
12 composer validate Memvalidasi file composer.json untuk memastikan tidak ada kesalahan sintaks.
13 composer global require <package> Menginstal paket secara global (untuk digunakan di semua proyek) misalnya: composer global require phpunit/phpunit.
14 composer outdated Menampilkan daftar paket yang sudah usang dan bisa diperbarui.
15 composer self-update Memperbarui Composer ke versi terbaru.
16 composer clear-cache Menghapus cache yang digunakan oleh Composer.
17 composer install --no-dev Menginstal dependensi tanpa memasukkan dependensi yang ada di bagian require-dev pada composer.json.
18 composer install --prefer-dist Menginstal dependensi menggunakan arsip (tarball) jika tersedia, daripada mengkloning repositori.
19 composer require <package>:<version> Menambahkan versi tertentu dari paket. Misalnya: composer require monolog/monolog:^2.0.

Sunday, December 29, 2024

install OJS ubuntu server

 Panduan Lengkap Instalasi Open Journal Systems (OJS) di Ubuntu Server

Open Journal Systems (OJS) adalah platform open-source yang digunakan untuk mengelola dan menerbitkan jurnal ilmiah secara online. Artikel ini akan memandu Anda langkah demi langkah dalam menginstal OJS di server Ubuntu.

Persyaratan Sistem

Sebelum memulai, pastikan server Ubuntu Anda memenuhi persyaratan berikut:

  • Ubuntu Server (versi 18.04 atau lebih baru)

  • Web server (Apache2)

  • Database server (MySQL/MariaDB)

  • PHP (versi 7.3 atau lebih baru)

Langkah 1: Update dan Instal Paket yang Diperlukan

sudo apt update
sudo apt upgrade
sudo apt install apache2 mysql-server php php-mysql php-xml php-mbstring php-curl php-zip unzip wget

Langkah 2: Konfigurasi Database MySQL

Masuk ke MySQL dan buat database untuk OJS:

sudo mysql -u root -p

Lalu jalankan perintah berikut di MySQL:

CREATE DATABASE ojs;
CREATE USER 'ojsuser'@'localhost' IDENTIFIED BY 'password_kuat';
GRANT ALL PRIVILEGES ON ojs.* TO 'ojsuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Langkah 3: Unduh dan Ekstrak OJS

Unduh OJS dari situs resminya:

wget https://pkp.sfu.ca/ojs/download/ojs-3.3.0-20.tar.gz

Ekstrak file yang diunduh:

tar -xvzf ojs-latest.tar.gz
sudo mv ojs-*/ /var/www/html/ojs

Langkah 4: Atur Izin Folder

Pastikan folder memiliki izin yang benar:

sudo chown -R www-data:www-data /var/www/html/ojs
sudo chmod -R 755 /var/www/html/ojs

Langkah 5: Konfigurasi Apache untuk OJS

Buat file konfigurasi virtual host untuk OJS:

sudo nano /etc/apache2/sites-available/ojs.conf

Tambahkan konfigurasi berikut:

<VirtualHost *:80>
    ServerName jurnal.example.com
    DocumentRoot /var/www/html/ojs

    <Directory /var/www/html/ojs>
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Aktifkan konfigurasi dan mod_rewrite:

sudo a2ensite ojs
sudo a2enmod rewrite
sudo systemctl restart apache2

Langkah 6: Instalasi Melalui Web Interface

Buka browser dan akses:

http://jurnal.example.com

Ikuti instruksi di layar untuk menyelesaikan instalasi.



Penutup

Instalasi OJS di Ubuntu Server selesai! Anda sekarang dapat mulai mengelola jurnal ilmiah Anda melalui antarmuka admin OJS.

saifiahmada.com adalah blog belajar programming Indonesia, membahas lengkap materi bahasa pemrograman: code HTML, CSS, Bootstrap, Desain, PHP, MySQL, coding Java, Query, SQL, dan dunia linux