بِسْـــــــــمِ ﷲِالرَّحْمَنِ الرَّحِيم. اَللَّهُمَّ صَلِّى عَلَى مُحَمَّدٍٍ، وَعَلَى آلِهِ مُحَمَّدٍٍ


Dua hari lalu mula dapat kerja sekolah baru kali ini berkaitan dengan ekosistem perniagaan pembalakan di Sarawak. Tedi pun mula mendapatkan capaian kepada semua sumber yang ada termasuk kod sumber.

Tetapi kali ini ada masalah di mana SourceTree akan tiba-tiba mati semasa klon kod sumber projek tersebut daripada GitLab.

gambar skrin SourceTree semasa klon projek

Ralat

Ralat yang Tedi perolehi melalui Event Viewer Windows 10 ialah:

SourceTree.exe Framework Version: v4.0.30319 Description: The process was terminated due to an unhandled exception. Exception Info: System.IndexOutOfRangeException at SourceTree.Repo.RepoHandlerGitOld.GetDefaultBranch(System.String) at SourceTree.ViewModel.CloneNewDialogViewModel+<>c__DisplayClass212_0.<RefreshRemoteBranches>b__1() at System.Threading.Tasks.Task`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].InnerInvoke() at System.Threading.Tasks.Task.Execute() at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task) at System.Runtime.CompilerServices.TaskAwaiter`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].GetResult() at SourceTree.ViewModel.CloneNewDialogViewModel+<RefreshRemoteBranches>d__212.MoveNext() at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task) at System.Runtime.CompilerServices.TaskAwaiter.GetResult() at SourceTree.ViewModel.CloneNewDialogViewModel+<CheckSource>d__211.MoveNext() Exception Info: ReactiveUI.UnhandledErrorException at ReactiveUI.RxApp+<>c__DisplayClass11_0.<.cctor>b__2() at System.Reactive.Concurrency.Scheduler.Invoke(System.Reactive.Concurrency.IScheduler, System.Action) at System.Reactive.Concurrency.DispatcherScheduler+<>c__DisplayClass12_0`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].<Schedule>b__0() at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32) at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate) at System.Windows.Threading.DispatcherOperation.InvokeImpl() at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(System.Object) at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object) at MS.Internal.CulturePreservingExecutionContext.Run(MS.Internal.CulturePreservingExecutionContext, System.Threading.ContextCallback, System.Object) at System.Windows.Threading.DispatcherOperation.Invoke() at System.Windows.Threading.Dispatcher.ProcessQueue() at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef) at MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef) at MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object) at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32) at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate) at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32) at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr) at MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef) at System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame) at System.Windows.Application.RunDispatcher(System.Object) at System.Windows.Application.RunInternal(System.Windows.Window) at SourceTree.App.Main()

 

Penyelesaian

Mengikut pembacaan Tedi untuk selesaikan masalah ini kita perlu buang dan pasang semula SourceTree. Tedi malas nak buat sebab tak tahu apakah kesannya kepada tugasan Tedi sebelum ini.

Selain itu ada juga orang yang menghadapi masalah ini berkata bahawa dia tak dapat klon melalui SourceTree sahaja tetapi tiada masalah jika klon menggunakan Git Bash.

Maka Tedi pun cuba klon projek menggunakan Git Bash dan hasilnya memang lumayan.

Selepas diklon menggunakan Git Bash kita boleh menggunakan SourceTree seperti biasa iaitu dengan Add project dan bukannya Clone.

 

Skrip klon projek dalam GIT Bash

  1. Klik terminal pada SourceTree.
  2. GIT Bash dipaparkan dengan lokasi pada projek semasa
  3. kemudian "cd .." untuk naik 1 tingkat ke "D:\NetBeansProjects", atau cd je ke folder yang diingini
  4. git clone --branch <nama-branch-anda> <URL-projek>
  5. Terminal akan minta nama pengguna dan kata laluan
  6. Projek akan diklon

 


~20210820~
jika kiriman ini bermanfaat, tolong lawat iklan yang ada ya, terima kasih