目录
1.新建仓库
2.克隆仓库
克隆仓库
无需关联线上仓库
拉取线上最新代码
3.查看历史版本
新建仓库
初始化仓库
git init 初始化仓库 创建一个空的 Git 仓库或重新初始化一个已存在的仓库 (会在当前目录下创建一个.git 的隐藏文件夹)
git init
Initialized empty Git repository in /Users/ABin/test/.git/
关联线上仓库
关联仓库,跟线上的仓库关联起来,要不然不知道上传到哪里去
git remote add origin https://gitee.com/Coder_ABin/test.git
#删除关联的仓库
git remote rm origin
#更改关联的仓库
git remote set-url origin https://gitee.com/Coder_ABin/test.git
#查看关联的仓库
git remote -v
查看暂存区
#查看文件的状态(绿色的是已经添加的,红色的是已更改但是没有添加的文件)
git status
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
README.md
nothing added to commit but untracked files present (use "git add" to track)
添加文件
#添加文件 (README.md是新创建的一个文件)
git add README.md
#添加所有文件(add后边跟‘空格’和‘点’)
git add .
提交文件
#提交文件
git commit -m '提交消息'
#提交文件2 (已经提交过的文件,仅更改了内容可加 -a选项,省去git add .这一步了)
git commit -a -m '提交消息'
推送文件
#推送
git push -u origin master
#或
git push --set-upstream origin master
#第一次上传需要加-u origin master以后可直接
git push
强制推送
#强制推送
git push origin master -f
#或
git push -f
2.克隆仓库
克隆仓库
拉取线上最新代码
#克隆仓库,克隆仓库之后无需关联仓库(git remote add *)
git clone https://gitee.com/Coder_ABin/test.git
#拉取最新仓库代码防止有人提交过版本导致push 失败
git pull
#修改文件后上传 提交 (-a 可省去之前的git add )
git commit -a -m '更改文本内容'
#上传
git push
1.初始化仓库
进入到创建的项目根目录
#初始化 生成.git文件(文件默认隐藏 ls -a 可查看)
git init
2.把文件添加到到本地仓库
#添加单个文件
git add README.md
#添加所有文件(适合已经完成的项目)
git add *
3.版本控制
#查看提交历史记录,从最近到最远,可以看到3次
git log
#加参,简洁查看
git log --pretty=oneline
#查看每一次修改历史
git reflog
#查看工作区中文件当前状态
git status
#回退版本
git reset --hard HEAD^(HEAD~100)(commit id)
#丢弃工作区的修改,即撤销修改
git checkout -- README.md
#丢弃暂存区的修改(若已提交,则回退)
git reset HEAD README.md
#在本地删除
rm README.md
#直接删除
git rm README.md
git commit -m "remove README.md"
#删错了,恢复
git checkout -- README.md
#删除已经添加到.gitignore(忽略文件)的文件 但是已经push 到服务器上的文件
#删除指定文件,如果是文件夹加 -r 参数 递归
git rm -r .vscode --cached
4.远程仓库
#克隆远程仓库
git clone git@github.com:Coder-Binary/test.git
#克隆之后使用和查看
#查看远程库的信息
git remote
#查看远程库的详细信息
git remote -v
#查看push URL
git remote -v
#添加push URL
git remote add origin https://*****
#删除push URL
git remote rm origin
#更改push URL
git remote set-url origin https://*****
#将本地内容推送到远程仓库(之后)
git push origin master
#强制覆盖(回退版本可这样)-f 等同于 --force,两者都是表示强制覆盖的意思。
git push origin master -f
git push -f
https://blog.csdn.net/weixin_49851451/article/details/123944431
#初始化 生成.git文件(文件默认隐藏 ls -a 可查看)
git init
#添加单个文件
git add README.md
#添加所有文件(适合已经完成的项目)
git add *
#查看提交历史记录,从最近到最远,可以看到3次
git log
#加参,简洁查看
git log --pretty=oneline
#查看每一次修改历史
git reflog
#查看工作区中文件当前状态
git status
#回退版本
git reset --hard HEAD^(HEAD~100)(commit id)
#丢弃工作区的修改,即撤销修改
git checkout -- README.md
#丢弃暂存区的修改(若已提交,则回退)
git reset HEAD README.md
#在本地删除
rm README.md
#直接删除
git rm README.md
git commit -m "remove README.md"
#删错了,恢复
git checkout -- README.md
#删除已经添加到.gitignore(忽略文件)的文件 但是已经push 到服务器上的文件
#删除指定文件,如果是文件夹加 -r 参数 递归
git rm -r .vscode --cached
#克隆远程仓库
git clone git@github.com:Coder-Binary/test.git
#克隆之后使用和查看
#查看远程库的信息
git remote
#查看远程库的详细信息
git remote -v
#查看push URL
git remote -v
#添加push URL
git remote add origin https://*****
#删除push URL
git remote rm origin
#更改push URL
git remote set-url origin https://*****
#将本地内容推送到远程仓库(之后)
git push origin master
#强制覆盖(回退版本可这样)-f 等同于 --force,两者都是表示强制覆盖的意思。
git push origin master -f
git push -f
#克隆输入密码
[root@Server ~]# git clone https://gitee.com/Coder_ABin/test.git
正克隆到 'test'...
Username for 'https://gitee.com': Coder_ABin
Password for 'https://Coder_ABin@gitee.com':
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
展开对象中: 100% (3/3), 194 字节 | 194.00 KiB/s, 完成.
#账号密码储存位置
Committer: root <root@Server.lan>
您的姓名和邮件地址基于登录名和主机名进行了自动设置。请检查它们正确
与否。您可以对其进行设置以免再出现本提示信息。运行如下命令在编辑器
中编辑您的配置文件:
git config --global --edit
设置完毕后,您可以用下面的命令来修正本次提交所使用的用户身份:
git commit --amend --reset-author
1 file changed, 2 insertions(+)
[root@Server test]# git config --global --edit
#提交输入密码
[root@Server test]# git commit -a -m date
位于分支 master
您的分支领先 'origin/master' 共 1 个提交。
(使用 "git push" 来发布您的本地提交)
无文件要提交,干净的工作区
[root@Server test]# git push
Username for 'https://gitee.com': Coder_ABin
Password for 'https://Coder_ABin@gitee.com':
枚举对象: 5, 完成.
对象计数中: 100% (5/5), 完成.
写入对象中: 100% (3/3), 256 字节 | 256.00 KiB/s, 完成.
总共 3(差异 0),复用 0(差异 0),包复用 0
remote: Powered by GITEE.COM [GNK-6.4]
To https://gitee.com/Coder_ABin/test.git
3617fb9..987fd35 master -> master
#储存密码 执行后再次 push 一下
git config --global credential.helper store
#或者
git config --global --edit
#添加以下代码 保存后再次push重新输入密码
[credential]
helper = store
开始一个工作区(参见:git help tutorial)
clone 克隆仓库到一个新目录
init 创建一个空的 Git 仓库或重新初始化一个已存在的仓库
在当前变更上工作(参见:git help everyday)
add 添加文件内容至索引
mv 移动或重命名一个文件、目录或符号链接
restore 恢复工作区文件
rm 从工作区和索引中删除文件
sparse-checkout 初始化及修改稀疏检出
检查历史和状态(参见:git help revisions)
bisect 通过二分查找定位引入 bug 的提交
diff 显示提交之间、提交和工作区之间等的差异
grep 输出和模式匹配的行
log 显示提交日志
show 显示各种类型的对象
status 显示工作区状态
扩展、标记和调校您的历史记录
branch 列出、创建或删除分支
commit 记录变更到仓库
merge 合并两个或更多开发历史
rebase 在另一个分支上重新应用提交
reset 重置当前 HEAD 到指定状态
switch 切换分支
tag 创建、列出、删除或校验一个 GPG 签名的标签对象
协同(参见:git help workflows)
fetch 从另外一个仓库下载对象和引用
pull 获取并整合另外的仓库或一个本地分支
push 更新远程引用和相关的对象
执行 'git help <command>' 来查看特定子命令
主要的上层命令
add 添加文件内容至索引
am 应用邮箱格式的系列补丁
archive 基于一个指定的树创建文件存档
bisect 通过二分查找定位引入 bug 的提交
branch 列出、创建或删除分支
bundle 通过归档移动对象和引用
checkout 切换分支或恢复工作区文件
cherry-pick 应用一些现存提交引入的修改
citool git-commit 的图形替代界面
clean 从工作区中删除未跟踪文件
clone 克隆仓库到一个新目录
commit 记录变更到仓库
describe 基于一个现存的引用为一个对象起一个可读的名称
diff 显示提交之间、提交和工作区之间等的差异
fetch 从另外一个仓库下载对象和引用
format-patch 准备电子邮件提交的补丁
gc 清除不必要的文件和优化本地仓库
gitk Git 仓库浏览器
grep 输出和模式匹配的行
gui 一个便携的 Git 图形客户端
init 创建一个空的 Git 仓库或重新初始化一个已存在的仓库
log 显示提交日志
merge 合并两个或更多开发历史
mv 移动或重命名一个文件、目录或符号链接
notes 添加或检查对象注释
pull 获取并整合另外的仓库或一个本地分支
push 更新远程引用和相关的对象
range-diff 比较两个提交范围(如一个分支的两个版本)
rebase 在另一个分支上重新应用提交
reset 重置当前 HEAD 到指定状态
restore 恢复工作区文件
revert 回退一些现存提交
rm 从工作区和索引中删除文件
shortlog 'git log' 输出摘要
show 显示各种类型的对象
sparse-checkout 初始化及修改稀疏检出
stash 贮藏脏工作区中的修改
status 显示工作区状态
submodule 初始化、更新或检查子模组
switch 切换分支
tag 创建、列出、删除或校验一个 GPG 签名的标签对象
worktree 管理多个工作区
辅助命令/操作者
config 获取和设置仓库或者全局选项
fast-export Git 数据导出器
fast-import Git 快速数据导入器后端
filter-branch 重写分支
mergetool 运行合并冲突解决工具以解决合并冲突
pack-refs 打包头和标签以实现高效的仓库访问
prune 删除对象库中所有不可达对象
reflog 管理 reflog 信息
remote 管理已跟踪仓库
repack 打包仓库中未打包对象
replace 创建、列出、删除对象替换引用
辅助命令/询问者
annotate 使用提交信息注释文件行
blame 显示文件每一行最后修改的版本和修改者
bugreport 收集信息以供用户提交错误报告
count-objects 计算未打包对象的数量和磁盘空间占用
difftool 使用常见的差异工具显示更改
fsck 验证仓库中对象的连通性和有效性
gitweb Git web 界面(Git 仓库的 web 前端)
help 显示 Git 的帮助信息
instaweb 在 gitweb 中即时浏览您的工作仓库
merge-tree 显示三路合并而不动索引
rerere 重用冲突合并的解决方案记录
show-branch 显示分支和提交
verify-commit 检查 GPG 提交签名
verify-tag 检查标签的 GPG 签名
whatchanged 显示每一个提交引入的差异日志
与其它系统交互
imap-send 从标准输入将一组补丁发送到IMAP文件夹
quiltimport 将一个 quilt 补丁集应用到当前分支。
request-pull 生成待定更改的摘要
send-email 通过电子邮件发送一组补丁
svn Subersion 仓库和 Git 之间的双向操作
低级命令/操作者
apply 应用一个补丁到文件和/或索引区
checkout-index 从索引拷贝文件到工作区
commit-graph 写入和校验 Git 提交图文件
commit-tree 创建一个新的提交对象
hash-object 从一个文件计算对象 ID,并可以创建 blob 数据对象
index-pack 从一个现存的包存档文件创建包索引
merge-file 运行一个三路文件合并
merge-index 对于需要合并的文件执行合并
mktag 创建一个标签对象
mktree 基于 ls-tree 的格式化文本创建一个树对象
multi-pack-index 写入和校验多包索引
pack-objects 创建对象的存档包
prune-packed 删除已经在包文件中的多余对象
read-tree 将树信息读取到索引
symbolic-ref 读取、修改和删除符号引用
unpack-objects 从打包文件中解压缩对象
update-index 将工作区的文件内容注册到索引
update-ref 安全地更新存储于引用中的对象名称
write-tree 从当前索引创建一个树对象
低级命令/询问者
cat-file 提供仓库对象的内容、类型或大小
cherry 查找尚未应用到上游的提交
diff-files 比较工作区和索引区中的文件
diff-index 将一个树和工作区或索引做比较
diff-tree 比较两个树对象的文件内容和模式
for-each-ref 对每一个引用输出信息
get-tar-commit-id 从 git-archive 创建的归档文件中提取提交 ID
ls-files 显示索引和工作区中文件的信息
ls-remote 显示一个远程仓库的引用
ls-tree 显示一个树对象的内容
merge-base 为了合并查找尽可能好的公共祖先提交
name-rev 查找给定版本的符号名称
pack-redundant 查找冗余的包文件
rev-list 按时间顺序列出提交对象
rev-parse 选出并处理参数
show-index 显示打包归档索引
show-ref 显示本地仓库中的引用
unpack-file 用 blob 数据对象的内容创建一个临时文件
var 显示一个Git逻辑变量
verify-pack 校验打包的Git存仓文件
低级命令/同步仓库
daemon 一个非常简单的 Git 仓库服务器
fetch-pack 从另一个仓库获取缺失的对象
http-backend Git HTTP 协议的服务端实现
send-pack 使用 Git 协议推送对象到另一个仓库
update-server-info 更新辅助信息文件以帮助哑协议服务
低级命令/内部助手
check-attr 显示 gitattributes 信息
check-ignore 调试 gitignore / exclude 文件
check-mailmap 显示联系人的规范名称和电子邮件
check-ref-format 确保引用名称格式正确
column 以列的方式显示数据
credential 检索和存储用户密码
credential-cache 在内存中临时存储密码的助手
credential-store 在磁盘存储密码的助手
fmt-merge-msg 生成一个合并提交信息
interpret-trailers 添加或解析提交说明中的结构化信息
mailinfo 从单个电子邮件中提取补丁和作者身份
mailsplit 简单的 UNIX mbox 邮箱切分程序
merge-one-file 与 git-merge-index 一起使用的标准向导程序
patch-id 计算一个补丁的唯一 ID
sh-i18n 为 shell 脚本准备的 Git 国际化设置代码
sh-setup 常用的 Git shell 脚本设置代码
stripspace 删除不必要的空白字符
评论区