Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
沒有 GUI 的 git
Search
蔡佳緯
March 17, 2016
Programming
60
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
沒有 GUI 的 git
蔡佳緯
March 17, 2016
Other Decks in Programming
See All in Programming
JAWS-UG 東京支部が始める、JAWS-UG支部コラボ / JAWS-UG lunchtime LT Collaboration
y0hgi
0
270
機械に任せるテスト、人が見るテスト ⽣成AIで引き直した、運⽤保守フェーズの線引き
dske104
0
190
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
5
5.2k
npm との違いを手がかりにGo の依存管理を理解したい
optim
0
290
IBM Bob でAI駆動開発『QC-Playbook』
ichirokano2
0
110
golang-bob.pdf
iwatsukayura
0
130
AI時代のコードレビューは人に向けるな、仕組みに向けろ
texmeijin
5
3.7k
UnityでSystem.Net.WebSocketsなWebSocketサーバが動かないのでUnity Monoのコードを覗いてみた / about implementing websocket server with unity mono
drumath2237
1
610
コードレビューのボトルネックを"する側"と"される側"の両面から解消する
yub0n
2
1.6k
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
750
SREの越境 / SRE Collaboration
y0hgi
2
310
Agentic Software Factoryに、すごく賢いIF文を。 / super smart IF statement into the Agentic Software Factory.
rkaga
8
2.2k
Featured
See All Featured
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
280
The Cost Of JavaScript in 2023
addyosmani
55
10k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
43k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
4
4.4k
Heart Work Chapter 1 - Part 1
lfama
PRO
10
37k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Navigating Weather and Climate Data
rabernat
0
560
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
1
630
Git: the NoSQL Database
bkeepers
PRO
433
67k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3.2k
Transcript
GUI Git
1. çÑÙs 2. çÑC·=< 3. B L:3.¦Ë¯ 4. I'Ã]vw }v
xHÕz¶ï
rTÕÍ_hJ\²
@afu https://www.youtube.com/watch?v=_yQlKEq-Ueg
è
Repository Developer Developer Developer Developer Developer Developer
è - äMÂ
Repository MainActivity.java
Developer Repository MainActivity.java
Developer Repository MainActivity.java Developer
è - mëÂ
Repository MainActivity.java
Developer Repository MainActivity.java
Repository MainActivity.java Developer Developer
Repository MainActivity.java Developer Developer
!Î
Develop Repository Develop Develop Develop Repository Office Repository Develop Develop
Repository Fork
Develop Repository Develop Develop Develop Repository Office Repository Develop Develop
Repository Commit
Develop Repository Develop Develop Develop Repository Office Repository Develop Develop
Repository Pull Request
• Y+ (!Î) • »Ú • }79 git <4
@oxxo
¤m GUI or CLI?
http://www.slant.co/topics/465/compare/~the-command-line_vs_sourcetree_vs_tower-2
https://www.facebook.com/groups/git.tw/permalink/991589810889687/?qa_ref=qd
Git opµ
http://www.slant.co/topics/153/compare/~github_vs_gitlab_vs_bitbucket
Àq¹¿¡M
# ¡M log ¦ì¾ git 㱺 git config --global user.name
weitsai # ¡M±Ý-Aà git 㱺 git config --global user.email
[email protected]
# ¡MÄ- Editor (vim, sublime or atom…) git 㱺 git
config --global core.editor vim
½HÅ
Local
hJ¯ â´¥ git ¯ git 㱺 git
init
â´¥ git ¯ git | master⚡ 㱺 touch
test.md hJ¯ test
â´¥ git ¯ git | master⚡ 㱺 git
add test.md test hJ¯
â´¥ git ¯ git | master⚡ 㱺 git
commit test hJ¯
â´¥ git ¯ git | master 㱺 echo
‘test’ >> test.md hJ¯ test
â´¥ git ¯ git | master⚡ 㱺 git
add test.md test hJ¯
â´¥ git ¯ git | master⚡ 㱺 git
commit -m ‘Update’ test hJ¯
0…
git | master 㱺 echo ‘test’ >> test.md git |
master⚡ 㱺 git add test.md
git | master 㱺 git cat-file -t 9daeafb9864cf43055ae93beb0afd6c7d144bfa4 blob git
| master 㱺 git cat-file -p 9daeafb9864cf43055ae93beb0afd6c7d144bfa4 test
git | master 㱺 git commit -m ‘Add test file’
[master (root-commit) 77f64af] Add test file 1 file changed, 1 insertion(+) create mode 100644 test.md git | master 㱺 git cat-file -t 77f64af commit git | master 㱺 git cat-file -p 77f64af
git | master 㱺 git cat-file -p 9098a4 100644 blob
9098a46b8a3cb674c82833688dfb5c77995053c2 test.md git | master 㱺 git cat-file -t 9098a4 tree
Commit 77f64af Tree Blob 9daeaf 77f64af
None
Remote
# F uÉiÑÛk git | master 㱺 git remote add
origin {repo_url} # å¼ uÉiÑÛk git | master 㱺 git remote rm origin # uÉiÑÛk git | master 㱺 git remote -v
# F uÉiÑÛk git | master 㱺 git push origin
master # uÉiÑÛk git | master 㱺 git pull origin master # uÉiÑÛk git | master 㱺 git clone {repo_url}
béÅ
# commit Q#7˯ git | master 㱺 git commit
-v # ÏFçÑ git | master 㱺 git add -p # ftRK· git | master 㱺 git checkout -f
# commit ˯ git | master 㱺 git log
# º·l{ git | master 㱺 git log -p # Ç×.... git | master 㱺 git blame
# ·Ë¯ git | master 㱺 git diff
# ª©! git | master 㱺 git checkout -b test
# ®$H%É! git | test 㱺 git branch # ®$L! íÓ remote repo) git | test 㱺 git branch -a # L!"1 commit git | test 㱺 git branch -vv
# @K commit Ð git | master 㱺 git reset
HEAD~1 # @K? commit Ð git | master 㱺 git reset HEAD^^ # ~¦ @æ commit çÑ git | master 㱺 git reset —hard
# ^³; commit git | master 㱺 git revert HEAD~1
# &³ !:mëíʨî git | master 㱺 git merge —no-f q[branch] # ' commit ˯:· git | master 㱺 git rebase -i [commit]
# mëM!6! git | master 㱺 git merge —no-f {branch_name}
Conflict
git | master 㱺 echo ‘ GUI GIT’
> README.md git | master⚡ 㱺 git add README.md git | master⚡ 㱺 git commit -m ‘Add README’
git | master 㱺 git checkout -b conflict git |
conflict 㱺 echo ‘, GUI GIT’ > README.md git | conflict ⚡ 㱺 git add README.md git | conflict ⚡ 㱺 git commit -m ‘Update README’
git | conflict 㱺 git checkout master git | master
㱺 echo ‘ GUI GIT’ > README.md git | master ⚡ 㱺 git add README.md git | master ⚡ 㱺 git commit -m ‘Update README(master)’
git | master 㱺 git checkout conflict git | conflict
㱺 echo ‘, GUI GIT’ > README.md git | conflict ⚡ 㱺 git add README.md git | conflict ⚡ 㱺 git commit -m ‘Update README(conflict)’
git | conflict 㱺 git rebase master
git | conflict 㱺 vim README.md
https://www.flickr.com/photos/appleboy/5488984404 Master - ÞMxH Develop - *(xH Feature - X
Release - ·X develop bug Hotfix - «Ö·X master bug
Commit
• j&l{tE • je 50 n • j*OÁ • j
P • j¬g-#Zaí dêî • l{E" 72 n • l{¬g|Ü5 :ïc:ï
http://chris.beams.io/posts/git-commit/
>}Ò2
SSH key
https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/
None
Alias
CRLF
# OS X git | master 㱺 git config --global
core.autocrlf input # Windows git | master 㱺 git config --global core.autocrlf true
Tool
https://github.com/buunguyen/octotree
https://rtyley.github.io/bfg-repo-cleaner/
Security
gitignore
git 㱺 javac test.java git 㱺 git status
http://gitignore.io/
https://github.com/github/gitignore
None
Ì ØJÄ
https://help.github.com/articles/remove-sensitive-data/
# å¼á8W¢¸ git 㱺 git filter-branch --force --index-filter \ 'git
rm --cached --ignore-unmatch *.md' \ --prune-empty --tag-name-filter cat -- --all
SVN
# ^U SVN iÑ svn 㱺 git svn clone -r
HEAD {Repo URL} # °`·Æ#[Dy SVN Server git | master⚡ 㱺 git svn rebase # N²V Server git | master⚡ 㱺 git svn dcommit
None