文章目录
参考:
gitee 同步数据的几个步骤_tacity的博客-CSDN博客_gitee同步代码
1. 下载与安装git
2. 本机git初始化——用户信息
安装完 Git 之后,要做的第一件事就是设置你用户名和邮件地址。 这一点很重要,因为每一个 Git 提交都会使用这些信息,它们会写入到你的每一次提交中,不可更改:
git config --global user.name "Your Name"
git config --global user.email "you@example.com"
3. 创建ssh key
打开git bash
,键入ssh-keygen -t rsa
需要到 /Users/xxx/.ssh 目录下去找 .pub文件是个文本文件,打开后就看到秘钥,将其复制到gitee中。
4. 在gitee中添加ssh公钥
设置->SSH公钥
5. 链接到远程仓库
- 方法一:克隆
# git clone <url> --> 克隆仓库到本地 此时的远程<remote>名为origin
git clone https://github.com/libgit2/libgit2
git config --global http.sslVerify false # 如果clone失败,先执行这个命令
- 方法二:添加远程仓库
git init # 在目录中创建新的 Git 仓库。
git remote add <shortname> <url>
# 添加一个新的远程Git仓库,同时指定一个方便使用的简写<shortname> 远程库的名称,也叫<remote>
# git remote add origin https://gitee.com/xxxxx # clone 的仓库默认叫 origin
远程测试
ssh -T git@gitee.com # 远程链接测试
6. 拉取与推送数据
note:git remote show ` 命令 ,它告诉你正处于哪个分支
git pull origin master # git pull <remote> <branch>
git add . # 暂存
git commit -m "First Updata" # “ 上传备注”
git push origin master # 推送
如果push报错:
error: src refspec dev does not match any.
- 方法一
参考:error: src refspec dev does not match any._rain-Liang的博客-CSDN博客
git push 远端git名字 本地分支名:远端分支名
其中远端git名为你码云或者github上remote的名字
本地分支名可以通过git branch
查看
远端分支名git branch -a
查看,例如:master
- 方法二
参考: error: src refspec test does not match any. - itbsl - 博客园 (cnblogs.com)
# 将本地创建分支的信息推送到远程
git push origin HEAD -u
总结
常用git命令
# 获取帮助 例:获取add的命令
git add -h
# git clone <url> --> 克隆仓库到本地
git clone https://github.com/libgit2/libgit2
# 添加数据仓库
git remote add <shortname> <url>
# 查看哪些文件处于什么状态,是否有新的修改等
git status
# 从origin 的master拉取数据
git pull origin master
# git add <文件或目录的路径> --> 跟踪文件(指定需同步的目录)
# git add . --> 所有文件
git add README
# 每次准备提交前,先用 git status 看下,你所需要的文件是不是都已暂存起来了
# 提交更新
git commit -m "上传备注"
# Git 就会自动把所有已经跟踪过的文件暂存起来一并提交,从而跳过 git add 步骤
git commit -am "***"
# 将master分支推送到origin服务器 git push <remote> <branch>
git push origin master
git push 远端git名字 本地分支名:远端分支名
常用shell命令
Linux 命令大全 | 菜鸟教程 (runoob.com)
# 列出目录及文件名
ls
# 切换目录
cd
cd .. --> 上级目录
# 显示当前目录
pwd
# 创建一个新的目录
mkdir <name>
# 删除一个空目录
rmdir <name>
# 复制文件或目录
cp [options] <source> <dest>
# 删除文件或目录
rm [options] <name>
# 移动文件与目录或修改其名称
mv [options] <source> <dest>
# 显示文件内容
cat -n
Vim退出
esc->:x
保存并退出
分支的相关命令
参考:https://blog.csdn.net/duxing_langzi/article/details/80295573
# 输出你的提交历史、各个分支的指向以及项目的分支分叉情况。
git log --oneline --decorate --graph --all
# 查看本地分支,前面带有*的是当前分支
git branch
# 删除本地分支
git branch -d <branchname>
# 删除远程分支
git push <remote> --delete <branchname>
# 创建分支
git branch <branchname>
# 切换分支
git checkout <branchname>
# 创建并切换分支
git checkout -b <branchname>
# 将本地创建分支的信息推送到远程
git push <remote> HEAD -u
# 将hotfix合并到当前分支
git merge hotfix
# 查看全部分支,包含远程和本地
git branch -a
# 清理本地无效分支(远程已删除,本地没删除的分支)
git fetch -p
忽略文件
$ cat .gitignore
*.[oa]
*~
第一行告诉 Git 忽略所有以 .o
或 .a
结尾的文件。一般这类对象文件和存档文件都是编译过程中出现的。 第二行告诉 Git 忽略所有名字以波浪符(~)结尾的文件,许多文本编辑软件(比如 Emacs)都用这样的文件名保存副本。 此外,你可能还需要忽略 log,tmp 或者 pid 目录,以及自动生成的文档等等。 要养成一开始就为你的新仓库设置好 .gitignore 文件的习惯,以免将来误提交这类无用的文件。
文件 .gitignore
的格式规范如下:
- 所有空行或者以
#
开头的行都会被 Git 忽略。 - 可以使用标准的 glob 模式匹配,它会递归地应用在整个工作区中。
- 匹配模式可以以(
/
)开头防止递归。 - 匹配模式可以以(
/
)结尾指定目录。 - 要忽略指定模式以外的文件或目录,可以在模式前加上叹号(
!
)取反。
所谓的 glob 模式是指 shell 所使用的简化了的正则表达式。 星号(*
)匹配零个或多个任意字符;[abc]
匹配任何一个列在方括号中的字符 (这个例子要么匹配一个 a,要么匹配一个 b,要么匹配一个 c); 问号(?
)只匹配一个任意字符;如果在方括号中使用短划线分隔两个字符, 表示所有在这两个字符范围内的都可以匹配(比如 [0-9]
表示匹配所有 0 到 9 的数字)。 使用两个星号(**
)表示匹配任意中间目录,比如 a/**/z
可以匹配 a/z
、 a/b/z
或 a/b/c/z
等。
# 忽略所有的 .a 文件
*.a
# 但跟踪所有的 lib.a,即便你在前面忽略了 .a 文件
!lib.a
# 只忽略当前目录下的 TODO 文件,而不忽略 subdir/TODO
/TODO
# 忽略任何目录下名为 build 的文件夹
build/
# 忽略 doc/notes.txt,但不忽略 doc/server/arch.txt
doc/*.txt
# 忽略 doc/ 目录及其所有子目录下的 .pdf 文件
doc/**/*.pdf
查看远程仓库
git remote # 查看你已经配置的远程仓库服务器
git remote -v # 显示需要读写远程仓库使用的 Git 保存的简写与其对应的 URL。
远程仓库的重命名与移除
你可以运行 git remote rename
来修改一个远程仓库的简写名。 例如,想要将 pb
重命名为 paul
,可以用 git remote rename
这样做:
$ git remote rename pb paul
$ git remote
origin
paul
如果因为一些原因想要移除一个远程仓库——你已经从服务器上搬走了或不再想使用某一个特定的镜像了, 又或者某一个贡献者不再贡献了——可以使用 git remote remove
或 git remote rm
:
$ git remote remove paul
$ git remote
origin
一旦你使用这种方式删除了一个远程仓库,那么所有和这个远程仓库相关的远程跟踪分支以及配置信息也会一起被删除
查看配置
通过以下命令查看所有的配置以及它们所在的文件:
$ git config --list --show-origin