-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathNotes.txt
147 lines (120 loc) · 6.69 KB
/
Notes.txt
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
配置:
name
git config --global user.name "Kadupul"
email
git config --global user.email "[email protected]"
使用:
git status
- 查看当前仓库状态
git init
- 初始化仓库
刚刚添加到项目中的文件处于未追踪状态
未跟踪--->暂存
git add FILENAME
git add *
暂存--->未修改
git commit -m LOG
(git commit -a -m LOG 提交所有已修改文件 未跟踪的文件不会提交)
未修改--->已修改
修改仓库文件代码即可
常用命令:
回到上次提交位置
git restore FILENAME(只能恢复未处在暂存区的文件)
git restore *
git restore --staged FILENAME 取消暂存状态
删除文件
git rm FILENAME(只能修改未修改数据)
git rm -f FILENAME 强制执行
移动文件
git mv from to
分支:
查看分支(标记目前分支)
git branch
创建新分支
git branch BRANCHNAME
删除分支
git branch -d BRANCHNAME
切换分支
git switch BRANCHNAME
git switch -c BRANCHNAME(创建并切换分支)
合并分支
一、通过merge合并
切换回主分支;
git merge BRANCHNAME;
{两种方式:
1.fast forward
2.Auto Merge (需要自己确定冲突文件修改方式:current/incoming/both)
}
git branch -d BRANCHNAME
二、通过变基合并(rebase)
1.发起变基时,git会寻找两条分支的最近的共同祖先
2.对比当前分支相对于祖先的历史提交,并且存储到临时文件中
3.将当前部分指向主分支作为基底
4.以当前基底开始,重新执行临时文件中的操作
·切换到要要变基的分支
·git rebase master
·确定冲突文件修改方式
·git switch master
·git merge BRANCHNAME(fast forward)
·git branch -d BRANCHNAME
相对于merge而言,最终结果是相同的,但是变基会使得分支的合并图像消失,使得代码的提交记录更简洁
在大型项目时,优先使用,具体以公司的实际情况而定
注:大部分情况下变基和merge可以互换使用,但是如果分支已经提交给了远程仓库,这时尽量不要使用变基
(多人协作情况慎用)
远程仓库(remote):
将本地库上传到github
git remote add origin https://github.com/2715904627/Git_Lreaning.git
#git remote add REMOTENAME URL
git branch -M main
#修改分支的名字为main
git push -u origin main
#将代码上传到远程仓库上 origin--REMOTENAME
在github上创建新仓库
echo "# Git_Lreaning" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/2715904627/Git_Lreaning.git
git push -u origin main
下载代码到本地
git clone URL FILENAME(默认为远程名)
远程库操作命令:
git remote(查看当前所有关联的远程库)
git remote -v (更详细的信息---upload & download)
git remote add REMOTENAME URL(关联远程仓库)
git remote remove REMOTENAME(删除远程库)
git push -u REMOTENAME LOCALBRANCHNAME : REMOTEBRANCHNAME (向远程库推送代码,并和当前分支关联)
-u 自动关联当前分支和远程分支,下次操作可以直接使用 git push 不带参数
git push 详解:https://blog.csdn.net/sky1203850702/article/details/41344131#:~:text=git%20push%E5%91%BD%E4%BB%A4%E7%94%A8%E4%BA%8E%E5%B0%86%E6%9C%AC%E5%9C%B0%E5%88%86%E6%94%AF%E7%9A%84%E6%9B%B4%E6%96%B0%EF%BC%8C%E6%8E%A8%E9%80%81%E5%88%B0%E8%BF%9C%E7%A8%8B%E4%B8%BB%E6%9C%BA%E3%80%82.%20%E5%AE%83%E7%9A%84%E6%A0%BC%E5%BC%8F%E4%B8%8Egit%20pull%E5%91%BD%E4%BB%A4%E7%9B%B8%E4%BB%BF%E3%80%82.%20%E6%B3%A8%E6%84%8F%EF%BC%8C%E5%88%86%E6%94%AF%E6%8E%A8%E9%80%81%E9%A1%BA%E5%BA%8F%E7%9A%84%E5%86%99%E6%B3%95%E6%98%AF%3C%E6%9D%A5%E6%BA%90%E5%9C%B0%3E%3A%3C%E7%9B%AE%E7%9A%84%E5%9C%B0%3E%EF%BC%8C%E6%89%80%E4%BB%A5git,pull%E6%98%AF%3C%E8%BF%9C%E7%A8%8B%E5%88%86%E6%94%AF%3E%3A%3C%E6%9C%AC%E5%9C%B0%E5%88%86%E6%94%AF%3E%EF%BC%8C%E8%80%8Cgit%20push%E6%98%AF%3C%E6%9C%AC%E5%9C%B0%E5%88%86%E6%94%AF%3E%3A%3C%E8%BF%9C%E7%A8%8B%E5%88%86%E6%94%AF%3E%E3%80%82.%20%E5%A6%82%E6%9E%9C%E7%9C%81%E7%95%A5%E8%BF%9C%E7%A8%8B%E5%88%86%E6%94%AF%E5%90%8D%EF%BC%8C%E5%88%99%E8%A1%A8%E7%A4%BA%E5%B0%86%E6%9C%AC%E5%9C%B0%E5%88%86%E6%94%AF%E6%8E%A8%E9%80%81%E4%B8%8E%E4%B9%8B%E5%AD%98%E5%9C%A8%E2%80%9D%E8%BF%BD%E8%B8%AA%E5%85%B3%E7%B3%BB%E2%80%9D%E7%9A%84%E8%BF%9C%E7%A8%8B%E5%88%86%E6%94%AF%20%28%E9%80%9A%E5%B8%B8%E4%B8%A4%E8%80%85%E5%90%8C%E5%90%8D%29%EF%BC%8C%E5%A6%82%E6%9E%9C%E8%AF%A5%E8%BF%9C%E7%A8%8B%E5%88%86%E6%94%AF%E4%B8%8D%E5%AD%98%E5%9C%A8%EF%BC%8C%E5%88%99%E4%BC%9A%E8%A2%AB%E6%96%B0%E5%BB%BA%E3%80%82.%20%E4%B8%8A%E9%9D%A2%E5%91%BD%E4%BB%A4%E8%A1%A8%E7%A4%BA%EF%BC%8C%E5%B0%86%E6%9C%AC%E5%9C%B0%E7%9A%84master%E5%88%86%E6%94%AF%E6%8E%A8%E9%80%81%E5%88%B0origin%E4%B8%BB%E6%9C%BA%E7%9A%84master%E5%88%86%E6%94%AF%E3%80%82.
#若是本地库版本低于远程库,git push默认推送失败
#若是想要推送成功,需要本地库和远程库版本一致
1.
·git fetch REMOTENAME (fetch帮助下载远程库的代码,但是不会将代码和自身仓库合并,需要手动合并)
·合并:git merge REMOTENAME/BRANCHNAME ,之后选择冲突文件保留内容
·完成版本一致
2.
·git pull 从服务器上拉取代码,并自动完成合并
·相当于git fetch + git merge
------------------------------
注:push之前,一定要先检查本地库和远程库版本是否一致
Tag标签
·git switch commit_id/TAGNAME --detach -->分离头指针
当头指针没有指向某个分支的头部时,这种状态被称为分离头指针(HEAD detached),
分离头指针的状态下也可以操作代码,但是这些操作不会被记录,所以不要在分离头指针的情况下操作仓库
结束分离头指针状态只需切换分支即可:git switch master
·如果非要在后面的节点进行操作,可以在该节点处创建分支操作
git switch -c BRANCHNAME commit_id/TAGNAME
可以为每一条提交记录打标签,作为commit_id的索引
git tag 查看所有标签
git tag TAGNAME commit_id
git push REMOTENAME TAGNAME 推送标签版本到远程仓库
git push REMOTENAME --tags 推送所有标签版本到远程仓库
git tag -d TAGNAME 删除本地标签
git push REMOTENAME --delete TAGNAME 删除远程仓库标签
//VSCODE使用技巧
在终端中找到对应目录,输入code .即可进入vscode界面
配置文件管理
配置文件等不希望被git监视的文件,可以在项目中添加.gitignore文件,来设置需要忽略的文件
直接创建即可,无需命令
在文件中输入需要忽略的文件名,换行结束