Kezdjük a Git adattárral. Létrehozunk egy projekt nevű mappát.git és inicializálja, hogy távoli adattárrá váljon:
$ mkdir projekt.git$ cd projekt.git /
$ git init - csupasz
Inicializálta az üres Git adattárat a / Users / zakh_eecs / _work / LearnGIT / git_remote_repository könyvtárban
projekt.git /
Most menjen egy új helyre, ahol tiszta mappát hozhat létre. Hozza létre a project_source mappát, és inicializálja a Git számára:
$ mkdir project_source$ cd project_source
$ git init
Inicializált üres Git adattár a / Users / zakh_eecs / _work / LearnGIT / git_branching_source / könyvtárban
project_source /.git /
$ érintse meg a ReadMe gombot.txt
$ git add -A
$ git kötelezettségvállalás -m "Kezdeti elkötelezettség"
[master (gyökér-elkötelezettség) 176134f] Kezdeti kötelezettség
1 fájl megváltozott, 0 beszúrás (+), 0 törlés (-)
létrehozási mód 100644 ReadMe.txt
A project_setup egy Git könyvtár ReadMe-vel.txt fájl. Azonban nincs csatlakoztatva a távoli adattárunkhoz. Állítsunk fel projektet.A git a project_source távoli tárháza lesz. Ezt a következő paranccsal érhetjük el:
$ git remote add origin / Users / zakh_eecs / _work / LearnGIT / git_remote_repository / project.git$ git push origó mester
Tárgyak számlálása: 3, kész.
Objektumok írása: 100% (3/3), 213 bájt | 0 bájt / s, kész.
Összesen 3 (delta 0), újrafelhasználva 0 (delta 0)
Címzett / Felhasználók / zakh_eecs / _work / LearnGIT / git_remote_repository / project.git
* [új fiók] mester -> mester
A git remote origin origin paranccsal létrehoztuk a kapcsolatot a projekt között.git és project_source. A git push origó mester paranccsal a távoli adattárba toltuk a master águnkat.
Ellenőrizzük fiókjainkat (még mindig a project_source mappában):
$ git ág* mester
$ git ág -r
eredet / mester
$ git ág -a
* mester
távirányítók / eredet / mester
Az első parancs csak a helyi fiókot mutatja. Az -r opció a távoli elágazást mutatja. És az -a opció mind a helyi, mind a távoli elemeket megmutatja.
Hozzunk létre néhány fiókot a munkakönyvtárunkban:
$ git ág fejlesztése$ git branch gyorsjavítás
$ git ág kísérleti
$ git ág -a
fejlődés
kísérleti
gyorsjavítás
* mester
távirányítók / eredet / mester
Létrehoztuk a fejlesztés, a gyorsjavítás és a kísérleti ágakat. A helyi fióklistánkban jelennek meg. De a távirányítókban / origóban csak a főág van, mert csak ezt toltuk. A csillag (*) mester azt jelenti, hogy még mindig a helyi mester ágban vagyunk. Menjünk be a fejlesztési ágba, végezzünk módosításokat, és tegyük ezeket a változásokat a távoli adattárba.
$ git pénztár fejlesztéseÁgazatra váltott „fejlesztésre”
$ echo abc> ReadMe.txt
$ git add -A
$ git sitout -m "Módosított fejlesztési ág"
[development dd9933e] Módosított fejlesztési ág
1 fájl megváltozott, 1 beszúrás (+)
$ git push eredetfejlesztés
Tárgyak számlálása: 3, kész.
Objektumok írása: 100% (3/3), 257 bájt | 0 bájt / s, kész.
Összesen 3 (delta 0), újrafelhasználva 0 (delta 0)
Címzett / Felhasználók / zakh_eecs / _work / LearnGIT / git_remote_repository / project.git
* [új ág] fejlesztés -> fejlesztés
Ellenőrizzük az összes fiókot:
$ git ág -a* fejlesztés
kísérleti
gyorsjavítás
fő-
távirányítók / eredet / fejlesztés
távirányítók / eredet / mester
Látjuk, hogy a helyi fejlesztési ágban vagyunk, de van egy távoli fejlesztési ág is. Amikor a git push eredet fejlesztésével löktük a változásainkat, ez létrehozta a távoli / origó fejlesztési ágat.
Most lépjünk ki a project_source-ból, és keressünk egy új helyet, ahol új mappát kaphatunk. Itt klónozzuk a távoli adattárat a következő paranccsal:
$ git klón / Felhasználók / zakh_eecs / _work / LearnGIT / git_remote_repository / project.gitKlónozás a „projektbe”…
Kész.
Klónoztunk egy új példányt projekt projektből.git. Lépjen be a projekt mappába, és ellenőrizze az ágakat:
$ cd projekt$ git ág
* mester
Amikor Git egy kezdeti klónt készít egy távoli adattárból, akkor csak a master ágat kapja meg. Ha az -a opciót használjuk, akkor a következőket látjuk:
$ git ág -a* mester
távirányítók / origó / HEAD -> origó / master
távirányítók / eredet / fejlesztés
távirányítók / eredet / mester
Vegyük észre, hogy nincs helyi fejlesztési ág. Ezenkívül soha nem toltunk gyorsjavítást és kísérleti ágakat a project_source-ról a projektre.git, tehát nem látjuk őket. A távoli adattárnak vannak master és fejlesztési ágai (távirányítók / origó / HEAD -> Az origó / master nem ág, csak azt mondja meg, hova mutat a HEAD).
Vezessük be a fejlesztési ágat munkakörnyezetünkbe:
$ git fetch - mindenEredet lekérése
$ git pénztár fejlesztése
A fióktelep fejlesztése a távoli fióktelep eredetétől való nyomon követése céljából jött létre.
Átállt egy új ág „fejlesztésre”
Ha a Git régebbi verzióját használja, előfordulhat, hogy a következőket kell használnia:
$ git checkout fejlesztés eredete / fejlesztéseHa az branch parancsot használjuk, a következőket kapjuk:
$ git ág -a* fejlesztés
fő-
távirányítók / origó / HEAD -> origó / master
távirányítók / eredet / fejlesztés
távirányítók / eredet / mester
Változtathatunk a fejlesztési ágon, elvégezhetjük a változtatásokat, majd a git push origó fejlesztés paranccsal tolhatjuk.
Következtetésképpen
A GitHub és a BitBucket használatakor használhatja a HTTPS vagy az SSH linket a távoli adattárhoz való csatlakozáshoz. Tehát ezekre a linkekre állítja be az eredetét. De a távoli ág elvei megegyeznek az itt leírtakkal.
A további vizsgálat:
- https: // git-scm.com / docs / git-branch
- https: // git-scm.com / book / en / v2 / Git-on-the-Server-Setup-Up-the-Server
- https: // help.github.com / articles / egy meglévő projekt hozzáadása a github-hoz-a-parancssor használatával /
- https: // help.github.com / articles / távirányítóra tolás /