amunds Skrevet 8. november 2016 Del Skrevet 8. november 2016 Heisann. Jeg har prøvd å lese og se video rundt dette, men finner fortsatt ingen løsning på hva jeg gjør feil. Scenario: Jeg jobber på samme kode på 2 maskiner. Benytter meg av GitHub som et "sentrallager" slik at jeg slipper å kopiere til f.eks. Google Disk etter hver økt. Min workflow er slik (etter min forståelse av hvordan det fungerer): Første gang, maskin 1: Commit alle filer og push til git. Maskin 2: Pull, utvikle videre, commit, push. Maskin 1: Pull, utvikle videre, commit, push. Osv. Problemet jeg opplever nå, er at hver eneste gang jeg puller, får jeg conflicts på de filene jeg har gjort endringer. Noen som ved første øyekast ser hva jeg har gjort feil ? Et par andre ting jeg lurer på: Fikk spørsmål (i NetBeans) når jeg pushet om jeg ville "Track the remote master" - har ikke helt forstått hvilke konsekvenser/fordeler dette vil gi ? Man har to valg ved push/pull/fetch: 'Pull' og 'Pull from upstream'. Hva ligger i dette ? Lenke til kommentar
GeirGrusom Skrevet 9. november 2016 Del Skrevet 9. november 2016 Hva slags filer får du konflikter på? Track remote master gjør at git status kan fortelle deg hvor langt foran/bak du ligger den fetchede branchen master. Altså status sammenligner ikke direkte, men bare med det du har fetched og som ligger lokalt. Ser ikke ut som du gjør noe feil. Tipper bare at du pusher filer som du egentlig ikke trenger å pushe. Dette kan settes opp i .gitignore. Normalt sett har man én remote: origin. Du kan ha flere, men det er egentlig bare ett prosjekt jeg har hatt hvor jeg hadde flere. Mer vanlig hvis du driver og forker open source prosjekter, men ønsker å publisere noe internt. Uansett digresjon Git jobber alltid lokalt. Alle endringer du gjør er lokale endringer. Når du gjør en fetch så hentes endringssettet fra en remote (origin som standard) og lagres i refs/remotes/origin. Når du gjør en pull så gfjøres det en fetch og så en merge fra de lokale endringene i refs/remotes/origin. Hvis du har en upstream branch satt så betyr det at push/pull vil som standard hente fra denne remote branchen med mindre du sier not annet. Default er ingen upstream, så dette må settes med --set-upstream-to eller bare -u. Da vil git status fortelle deg hvor langt bak eller foran branchen din ligger upstream. Lenke til kommentar
amunds Skrevet 9. november 2016 Forfatter Del Skrevet 9. november 2016 Jeg hadde visst bare satt det opp litt klønete. Før jeg satt opp git, så hadde jeg kopiert over filene manuelt og initialisert git på begge hver for seg mot samme remote. Da hjalp det ikke at filene var "like". Slettet alt på den ene maskin og kjørte en 'Clone' på den første gang... Da fungerer det slik jeg forventet. :-) Lenke til kommentar
Gjest Skrevet 9. november 2016 Del Skrevet 9. november 2016 Som GeirGrusom er inne på er det nok noen filer som tilhører NetBeans du mulig får conflicts på og må det må legges inn i .gitignore Antat det er NetBeans sine egne filer og da kan du legge inn følgende: https://github.com/github/gitignore/blob/master/Global/NetBeans.gitignore Les litt om hvordan .gitignore fungerer :-) Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå