Git ãµãŒããŒãã€ã³ã¹ããŒã«ããŠæ§æããå Žåãè€æ°ã®ãããžã§ã¯ããžã®è€æ°ã®ãŠãŒã¶ãŒã®ã¢ã¯ã»ã¹ãæŽçããããšã«ã€ããŠçåãçããŸãã ãã®åé¡ã調æ»ããçµæãã·ã³ãã«ãå®å šãä¿¡é Œæ§ãšãããã¹ãŠã®èŠä»¶ãæºãã解決çãèŠã€ããŸããã
ç§ã®é¡ãã¯æ¬¡ã®ãšããã§ãã
- åãŠãŒã¶ãŒã¯èªåã®ã¢ã«ãŠã³ãã«æ¥ç¶ããŸã
- è€æ°ã®ãŠãŒã¶ãŒã XNUMX ã€ã®ãããžã§ã¯ãã§äœæ¥ã§ãã
- åããŠãŒã¶ãŒãè€æ°ã®ãããžã§ã¯ãã§äœæ¥ã§ãã
- åãŠãŒã¶ãŒã¯ãèªåãäœæ¥ããŠãããããžã§ã¯ãã«ã®ã¿ã¢ã¯ã»ã¹ã§ããŸãã
- ãã皮㮠Web ã€ã³ã¿ãŒãã§ã€ã¹ã ãã§ãªããã³ãã³ã ã©ã€ã³çµç±ã§ãæ¥ç¶ã§ããå¿ èŠããããŸãã
ãããçŽ æŽãããã§ããã:
- å¶åŸ¡è ã«èªã¿åãå°çšæš©éãä»äžãã
- Git ã§ãŠãŒã¶ãŒã®ã¢ã¯ã»ã¹æš©ãç°¡åã«ç®¡ç
GIT ãµãŒããŒã«ã¢ã¯ã»ã¹ããããã«èãããããªãã·ã§ã³ã®æŠèŠ
ãŸãæåã«ãäœãéžæããããç¥ãå¿ èŠããããããããã§ã¯ Git ãããã³ã«ã®æŠèŠãç°¡åã«èª¬æããŸãã
- ssh - ãµãŒããŒã«ã¢ã¯ã»ã¹ããããã«ç¹å¥ã«äœæããããŠãŒã¶ãŒ ã¢ã«ãŠã³ãã䜿çšãããŸãã
- Git ã XNUMX ã€ã®ã¢ã«ãŠã³ãã䜿çšããŠãã¹ãŠã®ãªããžããªã«ã¢ã¯ã»ã¹ããããšãæšå¥šäºé ããé€å€ããŠããªãã®ã¯äžæè°ã§ãã ããã¯ç§ã®èŠä»¶ããŸã£ããæºãããŠããŸããã
- è€æ°ã®ã¢ã«ãŠã³ãã䜿çšã§ããŸããããŠãŒã¶ãŒã®ã¢ã¯ã»ã¹ãç¹å®ã®ãã£ã¬ã¯ããªã®ã¿ã«å¶éããã«ã¯ã©ãããã°ããã§ãããã?
- ããŒã ãã£ã¬ã¯ããªã«éããããšã¯ãä»ã®ãŠãŒã¶ãŒã®æžã蟌ã¿ã¢ã¯ã»ã¹ãæŽçããããšãé£ãããããé©åã§ã¯ãããŸããã
- Git ã¯ã·ã³ããªãã¯ãªã³ã¯ããªã³ã¯ãšããŠè§£éããªããããããŒã ãã£ã¬ã¯ããªããã·ã³ããªãã¯ãªã³ã¯ã䜿çšããããšãå°é£ã§ãã
- ã€ã³ã¿ããªã¿ãžã®ã¢ã¯ã»ã¹ãå¶éããããšã¯å¯èœã§ããããããåžžã«æ©èœãããšããå®å
šãªä¿èšŒã¯ãããŸãã
- éåžžããã®ãããªãŠãŒã¶ãŒã®ããã«ç¬èªã®ã³ãã³ã ã€ã³ã¿ãŒããªã¿ãŒãæ¥ç¶ã§ããŸããã
- ãŸããããã¯ãã§ã«ããçš®ã®é£ãã決æã§ãã
- ãããŠç¬¬äºã«ãããã¯åé¿ã§ãããšããããšã§ãã
- éåžžããã®ãããªãŠãŒã¶ãŒã®ããã«ç¬èªã®ã³ãã³ã ã€ã³ã¿ãŒããªã¿ãŒãæ¥ç¶ã§ããŸããã
ãããããŠãŒã¶ãŒãä»»æã®ã³ãã³ããå®è¡ã§ããããšã¯åé¡ã§ã¯ãªãã§ãããã?.. äžè¬ã«ããã®æ¹æ³ã®äœ¿çšæ¹æ³ãæ£ç¢ºã«ææ¡ããŠããã°ããã®æ¹æ³ãé€å€ããããšã¯ã§ããŸããã ãã®æ¹æ³ã«ã€ããŠã¯åŸã»ã©èª¬æããŸãããããã§ã¯ä»ã®ä»£æ¿æ¹æ³ãç°¡åã«æ€èšããŸããããããããã£ãšåçŽãªãã®ãããã§ãããã
- git local ãããã³ã«ã¯ sshfs ãšçµã¿åãããŠäœ¿çšââã§ããè€æ°ã®ãŠãŒã¶ãŒã䜿çšã§ããŸãããæ¬è³ªçã«ã¯åã®ã±ãŒã¹ãšåãã§ã
- http - èªã¿åãå°çš
- git ã¯èªã¿åãå°çšã§ã
- https - ã€ã³ã¹ããŒã«ãé£ãããè¿œå ã®ãœãããŠã§ã¢ãå¿ èŠã§ããŠãŒã¶ãŒã¢ã¯ã»ã¹ãæŽçããããã«äœããã®ã³ã³ãããŒã«ããã«ãå¿ èŠã§ã...å®çŸå¯èœã«èŠããŸãããã©ãããããããã¹ãŠãè€éã§ãã
ssh ãããã³ã«ã䜿çšã㊠Git ãµãŒããŒãžã®ãã«ããŠãŒã¶ãŒ ã¢ã¯ã»ã¹ãçµç¹ãã
ssh ãããã³ã«ã«æ»ããŸãããã
gitã«ã¯sshã¢ã¯ã»ã¹ã䜿çšããããããµãŒããŒããŒã¿ã®ã»ãã¥ãªãã£ã確ä¿ããå¿
èŠããããŸãã ssh çµç±ã§æ¥ç¶ãããŠãŒã¶ãŒã¯ãLinux ãµãŒããŒäžã§ç¬èªã®ãã°ã€ã³ã䜿çšãããããssh ã¯ã©ã€ã¢ã³ãçµç±ã§æ¥ç¶ãããµãŒããŒã®ã³ãã³ã ã©ã€ã³ã«ã¢ã¯ã»ã¹ã§ããŸãã
ãã®ãããªã¢ã¯ã»ã¹ã«å¯Ÿããå®å
šãªä¿è·ã¯ãããŸããã
ãã ãããŠãŒã¶ãŒã¯ Linux ãã¡ã€ã«ã«èå³ãæã£ãŠã¯ãããŸããã éèŠãªæ
å ±ã¯ git ãªããžããªã«ã®ã¿ä¿åãããŸãã ãããã£ãŠãã³ãã³ãã©ã€ã³çµç±ã§ã¢ã¯ã»ã¹ãå¶éããã®ã§ã¯ãªããLinux ããŒã«ã䜿çšããŠããŠãŒã¶ãŒãåå ããŠãããããžã§ã¯ããé€ããããžã§ã¯ãã®é²èŠ§ãçŠæ¢ããããšãå¯èœã§ãã
åœç¶ã®éžæã¯ãLinux æš©éã·ã¹ãã ã䜿çšããããšã§ãã
ãã§ã«è¿°ã¹ãããã«ãssh ã¢ã¯ã»ã¹ã«äœ¿çšã§ããã¢ã«ãŠã³ã㯠XNUMX ã€ã ãã§ãã ãã®æ§æã¯ãæšå¥šããã git ãªãã·ã§ã³ã®ãªã¹ãã«å«ãŸããŠããŸãããäžéšã®ãŠãŒã¶ãŒã«ãšã£ãŠå®å šã§ã¯ãããŸããã
ãã®èšäºã®åé ã§ç€ºããèŠä»¶ãå®è£ ããããã«ãæš©éãšææè ãå²ãåœãŠãŠæ¬¡ã®ãã£ã¬ã¯ããªæ§é ãäœæããŸãã
1) ãããžã§ã¯ããã£ã¬ã¯ããª
dir1(proj1:proj1,0770)
dir2(proj2:proj2,0770)
dir3(proj3:proj3,0770)
...
ã©ã
dir1ãdir2ãdir3 - ãããžã§ã¯ã ãã£ã¬ã¯ããª: ãããžã§ã¯ã 1ããããžã§ã¯ã 2ããããžã§ã¯ã 3ã
proj1:proj1ãproj2:proj2ãproj3:proj3 ã¯ã察å¿ãããããžã§ã¯ã ãã£ã¬ã¯ããªã®ææè ãšããŠå²ãåœãŠããããç¹å¥ã«äœæããã Linux ãŠãŒã¶ãŒã§ãã
ãã¹ãŠã®ãã£ã¬ã¯ããªã®ã¢ã¯ã»ã¹èš±å¯ã¯ 0770 ã«èšå®ãããŸããã€ãŸããææè ãšãã®ã°ã«ãŒãã«ã¯å®å šãªã¢ã¯ã»ã¹ãèš±å¯ããããã®ä»ã®å šå¡ã«ã¯å®å šãªçŠæ¢ãäžããããŸãã
2) éçºè ã¢ã«ãŠã³ã
РазÑабПÑÑОк 1: dev1:dev1,proj1,proj2
РазÑабПÑÑОк 2: dev2:dev2,proj2,proj3
éèŠãªç¹ã¯ãéçºè ã«ã¯ã察å¿ãããããžã§ã¯ãã®ã·ã¹ãã ãŠãŒã¶ãŒææè ã®è¿œå ã°ã«ãŒããå²ãåœãŠããããšããããšã§ãã ããã¯ãLinux ãµãŒããŒç®¡çè ã XNUMX ã€ã®ã³ãã³ãã§å®è¡ããŸãã
ãã®äŸã§ã¯ããéçºè 1ãã¯ãããžã§ã¯ã proj1 ãš proj2 ã«åãçµãã§ããããéçºè 2ãã¯ãããžã§ã¯ã proj2 ãš proj3 ã«åãçµãã§ããŸãã
éçºè ã®ãããããã³ãã³ã ã©ã€ã³çµç±ã§ ssh çµç±ã§æ¥ç¶ããå Žåããã®éçºè ã®æš©éã¯ãåå ããŠããªããããžã§ã¯ã ãã£ã¬ã¯ããªã®å 容ã衚瀺ããã®ã«ååã§ã¯ãããŸããã 圌èªèº«ããããå€ããããšã¯ã§ããŸããã
ãã®ååã®åºç€ã¯ Linux ã®æš©å©ã®åºæ¬çãªã»ãã¥ãªãã£ã§ããããããã®ã¹ããŒã ã¯ä¿¡é Œã§ããŸãã ããã«ããã®å¶åºŠã¯ç®¡çãéåžžã«ç°¡åã§ãã
ç·Žç¿ã«ç§»ããŸãããã
Linux ãµãŒããŒäžã§ã® Git ãªããžããªã®äœæ
確èªãããã
[root@server ~]# cd /var/
[root@server var]# useradd gitowner
[root@server var]# mkdir gitservertest
[root@server var]# chown gitowner:gitowner gitservertest
[root@server var]# adduser proj1
[root@server var]# adduser proj2
[root@server var]# adduser proj3
[root@server var]# adduser dev1
[root@server var]# adduser dev2
[root@server var]# passwd dev1
[root@server var]# passwd dev2
ææžãã§å ¥åããã®ã¯ç²ããŸãâŠ
[root@server gitservertest]# sed "s/ /n/g" <<< "proj1 proj2 proj3" | while read u; do mkdir $u; chown $u:$u $u; chmod 0770 $u; done
[root@server gitservertest]# usermod -aG proj1 dev1
[root@server gitservertest]# usermod -aG proj2 dev1
[root@server gitservertest]# usermod -aG proj2 dev2
[root@server gitservertest]# usermod -aG proj3 dev2
ã³ãã³ãã©ã€ã³ããä»ã®äººã®ãªããžããªã«ã¢ã¯ã»ã¹ããããšã¯äžå¯èœã§ããããã®å 容ã衚瀺ããããšããäžå¯èœã§ãããšç§ãã¡ã¯ç¢ºä¿¡ããŠããŸãã
[dev1@server ~]$ cd /var/gitservertest/proj3
-bash: cd: /var/gitservertest/proj3: Permission denied
[dev1@server ~]$ ls /var/gitservertest/proj3
ls: cannot open directory /var/gitservertest/proj3: Permission denied
Git ã®åããããžã§ã¯ãã§è€æ°ã®éçºè ãšå ±åäœæ¥ãã
1 ã€ã®çåãæ®ããŸããããéçºè ãæ°ãããã¡ã€ã«ãå°å ¥ããå Žåãä»ã®éçºè ã¯ãã®ãã¡ã€ã«ãå€æŽã§ããŸããããã®éçºè èªèº«ããã®ææè (dev1 ãªã©) ã§ããããããžã§ã¯ãã®ãŠãŒã¶ãŒææè (projXNUMX ãªã©) ã§ã¯ãªãããã§ãã ãµãŒããŒåŽã®ãªããžããªãããããããŸãã.gitããã£ã¬ã¯ããªãã©ã®ããã«æ§æãããŠããããæ°ãããã¡ã€ã«ãäœæããããã©ãããç¥ãå¿ èŠããããŸãã
ããŒã«ã« Git ãªããžããªã®äœæãš Git ãµãŒããŒãžã®ããã·ã¥
ã¯ã©ã€ã¢ã³ã ãã·ã³ã«ç§»ããŸãããã
Microsoft Windows [Version 6.1.7601]
(c) ÐПÑпПÑаÑÐžÑ ÐайкÑПÑПÑÑ (Microsoft Corp.), 2009. ÐÑе пÑава заÑОÑеМÑ.
C:gittest>git init .
Initialized empty Git repository in C:/gittest/.git/
C:gittest>echo "test dev1 to proj2" > test1.txt
C:gittest>git add .
C:gittest>git status
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: test1.txt
C:gittest>git commit -am "new test file added"
[master (root-commit) a7ac614] new test file added
1 file changed, 1 insertion(+)
create mode 100644 test1.txt
C:gittest>git remote add origin "ssh://[email protected]/var/gitservertest/proj2"
C:gittest>git push origin master
dev1:[email protected]'s password:
Counting objects: 3, done.
Writing objects: 100% (3/3), 243 bytes | 243.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To ssh://10.1.1.11/var/gitservertest/proj2
* [new branch] master -> master
C:gittest>
åæã«ãæ°ãããã¡ã€ã«ããµãŒããŒäžã«äœæããããããã¯ããã·ã¥ãå®è¡ãããŠãŒã¶ãŒã«å±ããŸãã
[dev1@server proj2]$ tree
.
âââ 1.txt
âââ branches
âââ config
âââ description
âââ HEAD
âââ hooks
â âââ applypatch-msg.sample
â âââ commit-msg.sample
â âââ post-update.sample
â âââ pre-applypatch.sample
â âââ pre-commit.sample
â âââ prepare-commit-msg.sample
â âââ pre-push.sample
â âââ pre-rebase.sample
â âââ update.sample
âââ info
â âââ exclude
âââ objects
â âââ 75
â â âââ dcd269e04852ce2f683b9eb41ecd6030c8c841
â âââ a7
â â âââ ac6148611e69b9a074f59a80f356e1e0c8be67
â âââ f0
â â âââ 82ea1186a491cd063925d0c2c4f1c056e32ac3
â âââ info
â âââ pack
âââ refs
âââ heads
â âââ master
âââ tags
12 directories, 18 files
[dev1@server proj2]$ ls -l objects/75/dcd269e04852ce2f683b9eb41ecd6030c8c841
-r--r--r--. 1 dev1 dev1 54 Jun 20 14:34 objects/75/dcd269e04852ce2f683b9eb41ecd6030c8c841
[dev1@server proj2]$
å€æŽã Git ãµãŒããŒã«ã¢ããããŒããããšãè¿œå ã®ãã¡ã€ã«ãšãã£ã¬ã¯ããªãäœæãããå®éã®ææè ã¯ã¢ããããŒããè¡ã£ããŠãŒã¶ãŒã«ãªããŸãã ãã ãããããã®ãã¡ã€ã«ãšãã£ã¬ã¯ããªã®ã°ã«ãŒãã¯ããã®ãŠãŒã¶ãŒã®ã¡ã€ã³ ã°ã«ãŒããã€ãŸããdev1 ãŠãŒã¶ãŒã® dev1 ã°ã«ãŒããš dev2 ãŠãŒã¶ãŒã® dev2 ã°ã«ãŒãã«ã察å¿ããŸã (éçºè ãŠãŒã¶ãŒã®ã¡ã€ã³ ã°ã«ãŒããå€æŽããŠã圹ã«ç«ã¡ãŸãã)ãšããã®ã¯ãã©ããã£ãŠè€æ°ã®ãããžã§ã¯ãã«åãçµãããšãã§ããã®ã§ãããã?)ã ãã®å ŽåããŠãŒã¶ãŒ dev2 ã¯ãŠãŒã¶ãŒ dev1 ãäœæãããã¡ã€ã«ãå€æŽã§ããªããªããæ©èœãäœäžããå¯èœæ§ããããŸãã
Linux chown - éåžžã®ãŠãŒã¶ãŒã«ãããã¡ã€ã«ã®ææè ã®å€æŽ
ãã¡ã€ã«ã®ææè ã¯ãã®æææš©ãå€æŽã§ããŸããã ãã ããèªåã«å±ãããã¡ã€ã«ã®ã°ã«ãŒããå€æŽãããšããã®ãã¡ã€ã«ãåãã°ã«ãŒãå ã®ä»ã®ãŠãŒã¶ãŒãå€æŽã§ããããã«ãªããŸãã ãããç§ãã¡ã«å¿ èŠãªããšãªã®ã§ãã
Gitããã¯ã®äœ¿çš
ããã¯ã®äœæ¥ãã£ã¬ã¯ããªã¯ãããžã§ã¯ãã®ã«ãŒã ãã£ã¬ã¯ããªã§ãã ããã¯ã¯ãããã·ã¥ãå®è¡ãããŠãŒã¶ãŒã®äžã§å®è¡ãããå®è¡å¯èœãã¡ã€ã«ã§ãã ãããç解ããã°ãèšç»ãå®è¡ããããšãã§ããŸãã
[dev1@server proj2]$ mv hooks/post-update{.sample,}
[dev1@server proj2]$ sed -i '2,$ s/^/#/' hooks/post-update
[dev1@server proj2]$ cat <<< 'find . -group $(whoami) -exec chgrp proj2 '"'"'{}'"'"' ;' >> hooks/post-update
ãããã¯åã«
vi hooks/post-update
ã¯ã©ã€ã¢ã³ã ãã·ã³ã«æ»ããŸãããã
C:gittest>echo "dev1 3rd line" >> test1.txt
C:gittest>git commit -am "3rd from dev1, testing server hook"
[master b045e22] 3rd from dev1, testing server hook
1 file changed, 1 insertion(+)
C:gittest>git push origin master
dev1:[email protected]'s password:
d22c66e..b045e22 master -> master
GitãµãŒããŒäžã§ãã³ãããåŸã®ããã¯æŽæ°åŸã¹ã¯ãªããã®åäœã確èªããŸãã
[dev1@server proj2]$ find . ! -group proj2
- 空ã§ãããã¹ãŠåé¡ãããŸããã
Git 㧠XNUMX 人ç®ã®éçºè ãæ¥ç¶ãã
XNUMX 人ç®ã®éçºè ã®äœæ¥ãã·ãã¥ã¬ãŒã·ã§ã³ããŠã¿ãŸãããã
ã¯ã©ã€ã¢ã³ãåŽã§
C:gittest>git remote remove origin
C:gittest>git remote add origin "ssh://[email protected]/var/gitservertest/proj2"
C:gittest>echo "!!! dev2 added this" >> test1.txt
C:gittest>echo "!!! dev2 wrote" > test2.txt
C:gittest>git add test2.txt
C:gittest>git commit -am "dev2 added to test1 and created test2"
[master 55d49a6] dev2 added to test1 and created test2
2 files changed, 2 insertions(+)
create mode 100644 test2.txt
C:gittest>git push origin master
[email protected]'s password:
b045e22..55d49a6 master -> master
ãããŠåæã«ãµãŒããŒäžã§ã¯...
[dev1@server proj2]$ find . ! -group proj2
â åã³ç©ºã«ãªããšããã¹ãŠãæ©èœããŸãã
Git ãããžã§ã¯ãã®åé€ãš Git ãµãŒããŒããã®ãããžã§ã¯ãã®ããŠã³ããŒã
ãã¹ãŠã®å€æŽãä¿åãããããšãããäžåºŠç¢ºèªã§ããŸãã
C:gittest>rd /S /Q .
ÐÑПÑеÑÑ ÐœÐµ ÐŒÐŸÐ¶ÐµÑ Ð¿ÐŸÐ»ÑÑОÑÑ ÐŽÐŸÑÑÑп к ÑайлÑ, Ñак как ÑÑÐŸÑ Ñайл заМÑÑ ÐŽÑÑгОЌ пÑПÑеÑÑПЌ.
â Git ãããžã§ã¯ããåé€ããã«ã¯ããã£ã¬ã¯ããªãå®å šã«ã¯ãªã¢ããã ãã§ãã ãã®ã³ãã³ãã䜿çšããŠçŸåšã®ãã£ã¬ã¯ããªãåé€ããããšã¯äžå¯èœã§ãããããçæããããšã©ãŒã¯ææ ¢ããŸãããããã ããããã¯ãŸãã«å¿ èŠãªåäœã§ãã
C:gittest>dir
СПЎеÑжОЌПе папкО C:gittest
21.06.2019 08:43 <DIR> .
21.06.2019 08:43 <DIR> ..
C:gittest>git clone ssh://[email protected]/var/gitservertest/proj2
Cloning into 'proj2'...
[email protected]'s password:
C:gittest>cd proj2
C:gittestproj2>dir
СПЎеÑжОЌПе папкО C:gittestproj2
21.06.2019 08:46 <DIR> .
21.06.2019 08:46 <DIR> ..
21.06.2019 08:46 114 test1.txt
21.06.2019 08:46 19 test2.txt
C:gittestproj2>type test1.txt
"test dev1 to proj2"
"dev1 added some omre"
"dev1 3rd line"
"!!! dev2 added this"
C:gittestproj2>type test2.txt
"!!! dev2 wrote"
Git ã§ã®ã¢ã¯ã»ã¹ã®å ±æ
次ã«ã1 çªç®ã®éçºè ããGit ãä»ããŠããäœæ¥ããŠããªã ProjXNUMX ãããžã§ã¯ãã«ã¢ã¯ã»ã¹ã§ããªãããšã確èªããŸãããã
C:gittestproj2>git remote remove origin
C:gittestproj2>git remote add origin "ssh://[email protected]/var/gitservertest/proj1"
C:gittestproj2>git push origin master
[email protected]'s password:
fatal: '/var/gitservertest/proj1' does not appear to be a git repository
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
ããã§ã¢ã¯ã»ã¹ãèš±å¯ãããŸãã
[root@server ~]# usermod -aG proj1 dev2
ãã®åŸã¯ãã¹ãŠããŸããããŸãã
C:gittestproj2>git push origin master
[email protected]'s password:
To ssh://10.1.1.11/var/gitservertest/proj1
* [new branch] master -> master
詳现ã«ã€ããŠã¯ã
ããã«ããã¡ã€ã«ããã£ã¬ã¯ããªã®äœææã«ããã©ã«ãã®æš©éã«åé¡ãããå Žåã¯ãCentOS ã§æ¬¡ã®ã³ãã³ãã䜿çšã§ããŸãã
setfacl -Rd -m o::5 -m g::7 /var/gitservertest
ãŸãããã®èšäºã§ã¯ãå°ããªäŸ¿å©ãªäºæã«ééãããããããŸããã
- Linuxã§ãã£ã¬ã¯ããªããªãŒãæ§ç¯ããæ¹æ³
- sed ã®ã¢ãã¬ã¹ç¯å²ãç¹å®ã®è¡ãããã¡ã€ã«ã®æ«å°ŸãŸã§æž¡ãæ¹æ³ãã€ãŸããæåã®è¡ãé€ããã¹ãŠã®è¡ã sed ã§çœ®æããæ¹æ³
- Linux find ã§æ€çŽ¢æ¡ä»¶ãå転ããæ¹æ³
- Linux ã·ã§ã«ã§ã¯ã³ã©ã€ããŒã䜿çšããŠè€æ°ã®è¡ãã«ãŒãã«æž¡ãæ¹æ³
- bashã§äžéåŒçšç¬Šããšã¹ã±ãŒãããæ¹æ³
- Windowsã®ã³ãã³ãã©ã€ã³ã§ãã£ã¬ã¯ããªãšãã®å 容ããã¹ãŠåé€ããæ¹æ³
- bash mv ã䜿çšããŠãã¡ã€ã«ãå床æžãæããã«ååãå€æŽããæ¹æ³
ãæž
èŽããããšãããããŸããã
åºæïŒ habr.com