-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgitdoc
147 lines (142 loc) · 3.86 KB
/
gitdoc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
Git global setup
git config --global http.sslVerify false
git config --global user.name "Administrator"
git config --global user.email "admin@example.com"
Create a new repository
git clone https://github.com/link directory apps
cd mmki-app
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master
Push an existing folder
cd existing_folder
git init
git remote add origin https://github.com/link directory apps
git add .
git commit -m "Initial commit"
git push -u origin master
Push an existing Git repository
cd existing_repo
git remote rename origin old-origin
git remote add origin https://github.com/link directory apps
git push -u origin --all
git push -u origin --tags
=====================================================
Github Cheatsheet :
=====================================================
##Git Schema
-> init start
git flow -> feature -> finish -> name
-> release publish
-> hotflix pull
Create
Clone an existing repository
$ git clone ssh://user@domain.com/repo.git
Create a new local repository
$ git init
Create a new local repository in a specific directory:
$ git init <directory>
local Changes
Changed files in your working directory
$ git status
Changes to tracked files
$ git diff
Add all current changes to the next
commit
$ git add .
Add some changes in <file> to the next
commit
$ git add -p <file>
Commit all local changes in tracked files
$ git commit -a
Commit previously staged changes
$ git commit
Commit with message:
$ git commit -m 'message here'
Commit skipping the staging area and adding message:
$ git commit -am 'message here'
Commit to some previous date:
$ git commit --date="`date --date='n day ago'`" -am "<Commit Message Here>"
Change the last commit
Don‘t amend published commits!
$ git commit --amend
Commit History
Show all commits, starting with newest
$ git log
Show changes over time for a specific file
$ git log -p <file>
Who changed what and when in <file>
$ git blame <file>
Branches & Tags
List all existing branches
$ git branch
Switch HEAD branch
$ git checkout <branch>
Create a new branch based on your
current HEAD
$ git branch <new-branch>
Create a new tracking branch based on
a remote branch
$ git branch --track <new-branch>
<remote-branch>
Delete a local branch
$ git branch -d <branch>
Mark the current commit with a tag
$ git tag <tag-name>
Update & Publish
List all currently configured remotes
$ git remote -v
Show information about a remote
$ git remote show <remote>
Add new remote repository, named
<remote>
$ git remote add <remote> <url>
Download all changes from <remote>,
but don‘t integrate into HEAD
$ git fetch <remote>
Download changes and directly merge/
integrate into HEAD
$ git pull <remote> <branch>
Publish local changes on a remote
$ git push <remote> <branch>
Delete a branch on the remote
$ git push <remote> :<branch>
Publish your tag s
$ git push --tags
Merge & Rebase
Merge <branch> into your current HEAD
$ git merge <branch>
Rebase your current HEAD onto <branch>
Don‘t rebase published commits!
$ git rebase <branch>
Abort a rebase
$ git rebase --abort
Continue a rebase after resolving conflicts
$ git rebase --continue
Use your configured merge tool to
solve conflicts
$ git mergetool
Use your editor to manually solve conflicts and (after resolving) mark file as
resolved
$ git add <resolved-file>
$ git rm <resolved-file>
Undo
Discard all local changes in your working
directory
$ git reset --hard HEAD
Discard local changes in a specific file
$ git checkout HEAD <file>
Revert a commit (by producing a new
commit with contrary changes)
$ git revert <commit>
Reset your HEAD pointer to a previous
commit
…and discard all changes since then
$ git reset --hard <commit>
…and preserve all changes as unstaged
changes
$ git reset <commit>
…and preserve uncommitted local
changes
$ git reset --keep <commit>