-
Notifications
You must be signed in to change notification settings - Fork 0
/
git-commands.txt
106 lines (80 loc) · 6.55 KB
/
git-commands.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
========================================================本地操作命令=========================================
# 创建版本库
$ git clone <url> -b <branch> # 克隆远程版本库
$ git init # 初始化本地库
# 修改和提交
$ git status # 查看状态
$ git diff # 查看变更内容
$ git add . # 跟踪所有改动过的文件
$ git add <file> # 跟踪指定的文件
$ git mv <old> <new> # 文件改名
$ git rm <file> # 删除文件
$ git rm --cached <file> # 停止跟踪文件但是不删除
$ git rm -rf folder # 停止跟踪并删除文件夹
$ git commit -m "commit message" # 提交所有更新过的文件
$ git commit -amend # 修改最后一个提交comment信息
# 分支与标签
$ git branch # 显示所有本地分支
$ git branch -r # 显示所有远程分支
$ git branch -a # 显示所以本地分支+所有远程分支
$ git branch -vv # 显示本地分支与远程分支的映射关系
$ git branch <branchName> # 创建新分支
$ git checkout <branchName> # 切换到指定分支或标签
$ git checkout -b <branchName> # 创建并切换到分支
$ git branch -D <branchName> # 删除本地分支
# 合并
$ git merge <branch> # 合并指定分支到当前分支
$ git rebase <branch> # 衍合指定分支到当前分支
# 查看提交历史
$ git log # 查看提交历史
$ git log -p <file> # 查看指定文件的提交历史
$ git blame <file> # 以列表方式查看指定文件的提交历史
$ git commit --amend --only # 修改最近一次提交的commit message.
$ git log -1 --name-only # 查看最近一次提交都提交了哪些文件
# 撤销提交
- git reset
1. git reset HEAD 文件名 # 撤销某个文件的git add操作,把它从暂存区(stage)撤回到working dictory(工作区)
2. git reset HEAD # 撤销所有文件的git add操作,把它们从暂存区(stage)撤回到working dictory(工作区)
3. git reset --soft HEAD^/commit ID # 撤销到最近的提交或者指定的某次提交,但仅仅只是撤销已提交的文件,不会修改暂存区和工作区, 这个很常用,因为我们经常会误提交某个文件
4. git reset --mixed HEAD^/commit ID # 撤销到最近的提交或者指定的某次提交,但仅仅只是撤销已提交的版本库和暂存区,不会修改工作区
5. git reset --hard HEAD^/commit ID # 撤销到最近的提交或者指定的某次提交,彻底将工作区、暂存区和版本库记录恢复到指定的版本库, 也就是会将工作区的修改或者新添加的文件删除, 慎用!!
如果不需要的文件已经commit并且push到远程分支了,如何撤销?
1. git log # 查看commit log
2. git reset --soft commit id # 重置到指定的commit id
3. git push origin(aliasName of remote repository) 本地分支:远程分支 --force
========================================================远程操作命令=========================================
# git remote 命令
$ git remote -v # 查看远程库信息
$ git remote show <aliasName> # 查看指定远程库信息
$ git remote add <aliasName> <url> # 创建远程库别名
$ git remote remove <aliasName> # 删除远程库别名
$ git push <aliasName of remote repository> --delete <branch_name of remote repository> # 删除远程库分支
$ git branch --set-upstream-to=origin/master # 将本地当前分支与远程库的master分支关联
-----本地库推送到远程库------
场景一(也是最常见的情况):本地库从从远程库clone的
# git clone 远程分支后,然后在本地创建新的分支,最后推送到远程库(自动在远程库创建相应的分支)
# 举个例子
1. git clone [email protected]:fjxszxhsss/git-commands.git
2. git checkout -b feature/danny-20240916
3. 在feature/danny-20240916添加相关文件并提交到本地库后,可以执行命令推送的远程库(会自动在远程库创建对应的分支)
4. git push origin feature/danny-20240916:feature/danny-20240916
场景二: 本地库不是clone远程库的,而是通过git init创建的
$ git init
$ git checkout -b local_branch -- 创建一个本地分支,用于推送到远程库
$ git add, git commit -- 本地添加相应文件后,提交到本地库
$ git remote add origin [email protected]:fjxszxhsss/git-demo.git -- 创建远程库别名
$ git push origin local_branch:remote_branch -- 将本地库local_branch推送到远程库并会自动创建远程库分支remote_branch
$ git pull <远程仓库地址/别名> <远程分支名>:<本地分支名>
$ git push <远程仓库地址/别名> <本地分支名>:<远程分支名>
from to
-- 方便记忆这条命令的方法: git push [远程名] [本地分支]:[远程分支] 语法,如果省略 [本地分支],那就等于是在说“在这里提取空白然后把它变成[远程分支]”。
$ git push origin:branhname # 删除远程分支
Github进行fork后如何与原仓库同步:
https://blog.csdn.net/matrix_google/article/details/80676034?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1.pc_relevant_paycolumn_v3&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1.pc_relevant_paycolumn_v3&utm_relevant_index=1
https://blog.csdn.net/qq1332479771/article/details/56087333?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1.topblog&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1.topblog&utm_relevant_index=2
https://ld246.com/article/1574920783992
http://www.javashuo.com/article/p-eefjvzyv-ko.html
http://www.javashuo.com/article/p-ugvivnzs-hb.html
http://www.javashuo.com/article/p-dvycrwds-da.html
http://www.javashuo.com/article/p-coplzlzf-vp.html
http://www.javashuo.com/article/p-ewguaucc-mv.html