SSH 公钥的配置
许多 Git 服务器都使用 SSH 公钥进行认证,用户可以生成一份然后提供给服务器,这样就无需在每次访问时都提供用户名或密码。
检查现有 SSH 密钥
默认情况下,用户的 SSH 密钥存储在其 ~/.ssh 目录下,根据该目录是否包含 id_dsa.pub(公钥) 或 id_rsa(私钥) 文件来确定是否已拥有密钥
1 2 3
| $ cd ~/.ssh $ ls id_rsa id_rsa.pub known_hosts
|
生成 SSH 公钥
如果.ssh 目录或者密钥文件,则需要通过运行 ssh-keygen 程序(系统自带的软件包)来创建它们。创建时会要求输入使用密钥时输入口令,将其留空即可。
测试您的SSH连接
1 2
| $ ssh -T git@github.com 或者 ssh -T git@gitee.com Hi czmCWH! You've successfully authenticated, but GitHub does not provide shell access.
|
学习博客:
GitHub 的 SSH 密钥指南
在一台机器上配置多个Git账号
git命令速查
操作本地仓库
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
| # 暂存文件 $ git add <fileName> $ git add . $ git add -i
# 撤销暂存 $ git reset HEAD 2.text $ git restore 2.text $ git restore --staged 4.text
# 暂存区提交到本地仓库 $ git commit -m "提交说明" $ git commit -a -m "提交说明"
# 重新提交 (提交漏掉的文件;或者更改上次提交的提交信息) $ git commit --amend -m "重新提交"
# 取消工工作区文件的修改 $ git checkout -- <file>
# 删除已跟踪文件 $ git rm <fileName> $ git rm -f <fileName>
# 修改文件名称 $ git mv file_from file_to
# 打标签 $ git tag -a v1.0.0 -m "initial project version" $ git tag -a v1.1.1 dc9c895262d2b1e5c6f304a6a2331fb9c30cf292 -m "后期打标签1" # 同步标签到远程服务器 $ git push learnGit v1.0.0 $ git push learnGit --tags
# 删除本地仓库标签 $ git tag -d v1.1.1 # 删除远程仓库标签 $ git push origin --delete <tagname>
# 检出标签为一个分支,便于查看该标签的内容 $ git checkout -b <newbranchname> <tag>
# 新建分支 $ git branch <newbranchname> # 切换分支 $ git checkout <newbranchname> # 新建并切换分支 $ git checkout -b <newbranchname> # 合并分支 $ git merge <branchname> # 删除分支 $ git branch -d <branchname>
|
远程仓库
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| # 添加远程仓库 $ git clone [remote-repository] [local-repository] $ git remote add <shortname> <url>
# 推送本地分支到远程仓库 $ git push <remote> <branch>
# 修改远程仓库的简写 $ git remote rename <remote> <new remote>
# 移除远程仓库 $ git remote remove <remote>
# 跟踪分支 $ git checkout -b <branch> <remote>/<branch> $ git checkout --track <remote>/<branch>
# 给本地分支设置跟踪的上游分支 $ git branch -u(或者 --set-upstream-to) <remote>/<branch>
# 删除远程分支 $ git push <remote> --delete <branch>
|
本地仓库和远程仓库
1 2 3 4 5 6 7 8 9 10 11 12 13
| # fetch抓取,从远程仓库中获得本地仓库没有的数据 $ git fetch <remote> # 抓取所有的远程仓库 $ git fetch --all
# pull拉取,拉取跟踪分支的最新代码 $ git pull <remote> <branch>
# push推送,提交跟踪分支到远程仓库 git push <remote> <branch>
# 更新本地分支中存储的远程分支引用列表 git remote update <remote> --prune
|
查询操作
1、查看已暂存和未暂存的修改
1 2
| $ git status $ git status -s
|
2、查看提交历史
1 2 3 4 5
| $ git log $ git log -p $ git log -p -2 $ git log --stat -2 $ git log --pretty=oneline
|
3、查看远程仓库
1 2 3
| $ git remote $ git remote -v git remote show <remote> # 查看更多信息
|
4、查询本地仓库标签
1 2 3 4
| $ git tag $ git tag -l $ git tag -l "v1.*.*" $ git tag show v1.0.0
|
5、查看本地分支
1 2 3 4 5 6 7
| $ git branch -a $ git branch -r $ git branch -vv
$ git branch -v $ git branch --no-merged $ git branch --merged
|
6、查看远程分支
1 2 3 4 5
| # 查看远程引用的完整列表 $ git ls-remote <remote>
# 获得远程分支的更多信息 $ git remote show <remote>
|
iOS .gitignore 配置文件