root /e/playdata/git/demo1 (master)
$ git remote add origin https://github.com/fadewalk/test.git
$ git push -u origin master # 直接将本地的push合并
enumerating objects: 38, done.
counting objects: 100% (38/38), done.
delta compression using up to 8 threads
compressing objects: 100% (29/29), done.
writing objects: 100% (38/38), 3.33 kib | 121.00 kib/s, done.
total 38 (delta 11), reused 0 (delta 0)
remote: resolving deltas: 100% (11/11), done.
remote:
remote: create a pull request for 'master' on github by visiting:
remote: https://github.com/fadewalk/test/pull/new/master
to https://github.com/fadewalk/test.git
* [new branch] master -> master
branch 'master' set up to track remote branch 'master' from 'origin'.
$ git branch -r # 遠端隻有master
origin/master # 另外的地方 無法擷取dev 分支
$ git branch
bug_001
dev2
* master
$ git checkout dev2
switched to branch 'dev2'
root /e/playdata/git/demo1 (dev2)
* dev2
master
root /e/playdata/git/demo1 (dev2) #将本地的dev2 分支push 上去
$ git push -u origin dev2
enumerating objects: 8, done.
counting objects: 100% (8/8), done.
compressing objects: 100% (5/5), done.
writing objects: 100% (6/6), 619 bytes | 123.00 kib/s, done.
total 6 (delta 2), reused 0 (delta 0)
remote: resolving deltas: 100% (2/2), completed with 1 local object.
remote: create a pull request for 'dev2' on github by visiting:
remote: https://github.com/fadewalk/test/pull/new/dev2
* [new branch] dev2 -> dev2
branch 'dev2' set up to track remote branch 'dev2' from 'origin'.
$ git branch -r # 現在遠端有dev,可以供别的,拉取
origin/dev2
origin/master
git pull 更新遠端分支
(use "git pull" to merge the remote branch into yours)
84
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
root@lewen/git/demo2
$ git clone https://github.com/fadewalk/test.git
cloning into 'test'...
remote: enumerating objects: 38, done.
remote: counting objects: 100% (38/38), done.
remote: compressing objects: 100% (18/18), done.
remote: total 38 (delta 11), reused 38 (delta 11), pack-reused 0
unpacking objects: 100% (38/38), done.
$ ls
test/
$ cd test/
root@lewen/git/demo2/test (master) # 發現是在master上面
$ git branch # 沒有dev2 分支,主人沒有上傳dev分支
* master # 需要等上傳了才能看
root@lewen/git/demo2/test (master)
$ cd ..
root@lewen/git/demo2 # 來早了,先删掉,等主人上傳dev了,再來。
$ rm -fr test/
$ git clone https://github.com/fadewalk/test.git # 重新克隆,應該有了吧
remote: enumerating objects: 44, done.
remote: counting objects: 100% (44/44), done.
remote: compressing objects: 100% (21/21), done.
remote: total 44 (delta 13), reused 44 (delta 13), pack-reused 0
unpacking objects: 100% (44/44), done.
index.html main.js readme.md style.css
$ git branch -r # 檢視遠端分支都有哪些
origin/head -> origin/master # 發現有自己想要的dev 分支了
$ git branch -a # 檢視所有分支。本地隻有一個master
remotes/origin/head -> origin/master
remotes/origin/dev2
remotes/origin/master
$ cat readme.md
bug fix=>master
root@lewen/git/demo2/test (master) # 那就本地就根據(跟蹤)遠端origin的dev建立dev
$ git checkout -b dev2 origin/dev2
switched to a new branch 'dev2'
root@lewen/git/demo2/test (dev2)
$ git branch -a # 好了現在本地也有dev分支了,可以修改開發dev了
branch dev===>master
b 送出的
在a檢視
administrator@lewenbook mingw64 /e/playdata/git/demo1 ((57253a1...))
$ git status
head detached at origin/dev2
nothing to commit, working tree clean
hello from stub
previous head position was 57253a1 modify readme.md at stub on dev2
your branch and 'origin/dev2' have diverged,
and have 3 and 1 different commits each, respectively.
administrator@lewenbook mingw64 /e/playdata/git/demo1 (dev2)
this demo1a dev
113
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
git pull 更新遠端的分支并合并到本地 。少用
git fetch
merge
# git fetch 同步遠端更新
# 看是不是自己想要的跟新,然後再merge
$ git fetch origin dev2
remote: enumerating objects: 5, done.
remote: counting objects: 100% (5/5), done.
remote: compressing objects: 100% (1/1), done.
remote: total 3 (delta 1), reused 3 (delta 1), pack-reused 0
unpacking objects: 100% (3/3), done.
from https://github.com/fadewalk/test
* branch dev2 -> fetch_head
0b93d1e..cc7b6f1 dev2 -> origin/dev2
administrator@lewenbook mingw64 /e/playdata/git/demo2/test (dev2)
$ git checkout remotes/origin/dev2
note: checking out 'remotes/origin/dev2'.
you are in 'detached head' state. you can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.
if you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. example:
git checkout -b <new-branch-name>
head is now at cc7b6f1 modify readme.md to a
administrator@lewenbook mingw64 /e/playdata/git/demo2/test ((cc7b6f1...))
from a
$ git checkout dev2
previous head position was cc7b6f1 modify readme.md to a
a
$ git merge origin/dev2 --no-ff
merge made by the 'recursive' strategy.
readme.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
fork
pull requst
别名
git config.conf
administrator@lewenbook mingw64 /e/playdata/git/demo2/test (dev2)
$ git config --global alias.ci commit
$ cat ~/.gitconfig
[user]
email = [email protected]
name = lewen
[alias]
ci = commit
搭建git伺服器