15분
3번
빠른 협업환경 조성
누가, 언제, 무엇을, 왜, 어떻게 수정했는지 코드리뷰가 가능.
이슈트래커 (Issue Tracker) 지원.
깃헙 (GitHub)을 이용하여 자신의 git을 쉽게 공유 가능.
지속적인 통합 (Continuous Integration) 지원.
Visual Studio, Jetbrains IntelliJ, Android Studio 등 대부분의 IDE에서 git 연동 제공.
요약: 협업을 위해서, 개발에서 사용, 두명 이상이 똑똑하게 소스를 공유하고 개발한 소스들을 합치세요!
git config
명령어를 이용하여 계정에 대한 정보를 설정합니다.$ git config --global user.name "Kenneth" $ git config --global user.email "kenneth@pigno.se"
git init
작업을 진행합니다$ git init
git init
을 하셨으면 git 리모트를 설정하 실 수 있습니다.$ git remote add origin https://github.com/KennethanCeyer/tutorial.git
git clone
명령어를 사용하여 복사를 시작합니다.$ git clone https://github.com/KennethanCeyer/tutorial.git
git clone
을 통해 원격파일을 복사해오면, origin
에는 기본적으로 클론해온 리모트 URL이 저장되있습니다.SSH Key
등록을 권장합니다.ssh-keygen
명령어로 SSH Key를 생성하시면 됩니다.~/[사용자 폴더]/.ssh/
에 파일이 존재하는 것을 확인하실 수 있습니다.id_rsa.pub
는 GitHub에 등록해주셔야 합니다.Profile
중 Settings
메뉴를 눌러주세요 (아래 그림을 참고해주세요.)Settings
화면 중 우측 사이드메뉴에서 SSH and GPG keys
를 클릭해주세요.SSH Keys
화면에서 New SSH key
버튼을 찾아 클릭 해주세요.id_rsa.pub
의 내용을 입력해주시면 됩니다.Q. SSH 설정을 해도 아이디와 비밀번호를 물어봐요!
<img width="400" alt="SSH connection string" src="./docs/images/99dda035-cfa6-4586-9827-82902cdeb609.png" />접속 정보에서 Use SSH를 클릭해 SSH 접속 정보를 이용하시기 바랍니다.
이때, git remote set-url
명령어를 이용하여 기존의 원격지 주소를 수정해야 합니다.
# 혹시 HTTPS 주소를 Remote URL로 사용하는지 체크해주세요. # Remote URL은 ssh 포맷을 사용해주셔야 ssh 인증을 통해 아이디/비밀번호 입력을 넘어가실 수 있습니다. # origin의 Remote URL 변경방법. $ git remote set-url origin git@github.com:KennethanCeyer/tutorial-git.git # origin의 Remote URL이 제대로 변경됬는지 체크해주세요. $ git remote show origin
git add
명령어를 이용합니다.$ git add .
-f
옵션을 이용합니다.$ git add . -f
git remote show origin
을 통해 origin에 리모트 주소가 잘 등록되었는지 확인해보세요.staged
상태의 파일이 히스토리로 기록되고 적재됩니다.git status
명령을 이용해서 확인합니다.$ git status
git add
이후 git status
를 하면 아래와 같은 화면 이 나옵니다.커밋
작업이 필요합니다.git commit
명령을 통해 Staged 상태의 파일을 커밋할 수 있습니다.-m
옵션을 이용하여 커밋 메시지를 작성하는 것을 권장합니다.--amend
옵션을 이용합니다.$ git add * $ git commit -m "UI 레이아웃 이슈 수정." # 수정사항 발생 $ git add * $ git commit -m "UI 레이아웃 이슈 수정 및 관리자 벨리데이션 추가." --amend
git pull
과 git fetch
가 있습니다.# main 브랜치를 pull하여 업데이트 $ git pull origin main # main 브랜치를 fetch하여 업데이트 $ git fetch origin main
pull
과 fetch
의 차이점은 merge
작업을 하느냐 안하느냐로 나뉘어지며.pull
은 fetch
+ merge
작업이라고 생각하시면 됩니다.git reset
명령을 사용합니다.$ git reset HEAD^ --soft
git reset
다음 인수로는 되돌리는 버전의 위치를 가리킵니다.
현재위치(HEAD)를 기준하여 상대적인 위치를 설정하거나, 특정 버전 리비전 고유의 해시값을 지정합니다.
HEAD를 확인하시고 싶으면 git reflog
명령을 이용합니다.
git reset
의 옵션 중 리셋 특성을 정하는 --soft, --hard, --mixed
옵션이 있습니다.
위 옵션은 아래에서 자세히 설명합니다.
--soft
는 약한특성의 리셋입니다, 되돌릴 때 기존의 인덱스와 워킹트리를 보존합니다.
--hard
는 강한특성의 리셋입니다, 되돌릴 때 기존의 인덱스와 워킹트리를 버립니다.
--mixed
는 중간특성의 리셋입니다, 되돌릴 때 기존의 인덱스는 버리고 워킹트리를 보존합니다.
되돌리는 위치의 경우 아래와 같은 타입이 있습니다.
# 바로 이전 단계로 인덱스와 워킹트리를 버리고 리셋. $ git reset HEAD^ --hard # 바로 두번째 전 단계로 인덱스와 워킹트리를 버리고 리셋. $ git reset HEAD~2 --hard # 특정 리비전의 기록으로 인덱스는 버리고 워킹트리를 보존하여 리셋. $ git reset 991ee8c --mixed
이미지 출처 StackOverflow
branch의 특징은 아래와 같습니다.
기본은 main 브랜치라고 불리며, 필수로 제공되는 브랜치이다.
서로다른 브랜치들은 같은 조상을 가지고 있다.
브랜치를 새로 만드신다면 git branch [브랜치명]
으로 생성합니다.
아래 명령라인에서는 new라는 브랜치를 생성하고 있습니다.
$ git branch new
AI辅助编程,代码自动修复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。
最强AI数据分析助手
小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。
像人一样思考的AI智能体
imini 是一款超级AI智能体,能根据人类指令,自主思考、自主完成、并且交付结果的AI智能体。
AI数字人视频创作平台
Keevx 一款开箱即用的AI数字人视频创作平台,广泛适用于电商广告、企业培训与社媒宣传,让全球企业与个人创作者无需拍摄剪辑,就能快速生成多语言、高质量的专业视频。
一站式AI创作平台
提供 AI 驱动的图片、视频生成及数字人等功能,助力创意创作
AI办公助手,复杂任务高效处理
AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!
AI小说写作助手,一站式润色、改写、扩写
蛙蛙写作—国内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率 。
全能AI智能助手,随时解答生活与工作的多样问题
问小白,由元石科技研发的AI智能助手,快速准确地解答各种生 活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。
实时语音翻译/同声传译工具
Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧 美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。
一键生成PPT和Word,让学习生活更轻松
讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。