把项目托管到码云(Gitee)
一、仓库与主分支的创建与提交
1. 生成并配置 SSH 公钥
? Gitee 提供了基于SSH协议的Git服务,在使用SSH协议访问仓库之前,需要先配置好账户/仓库的SSH公钥。
? ① 按如下命令来生成 sshkey:
ssh-keygen -t ed25519 -C "xxxxx@xxxxx.com"
? ??注意:
? 1)这里的 "xxxxx@xxxxx.com"只是生成的 sshkey 的名称,不约束或要求具体命名为某个邮箱;
? 2)这里的"ed25519" 可以叫换成其他的名字
? 按照提示完成三次回车,即可生成 ssh key。通过查看 ~/.ssh/id_ed25519.pub 文件(`C:/Users/玖玖/.ssh/id_ed25519.pub) 内容,获取到你的 public key。
? ② 添加公钥
? 复制生成后的 ssh key,通过头像 「设置」–>「安全设置」–>「SSH公钥」 ,添加生成的 public key 添加到仓库中
? ③ 检查SSH公钥是否配置成功
? 打开项目所在目录,按住shift,右键选择"在此处选择PowerShell窗口"
? 输入:
ssh -T git@gitee.com
? 首次使用需要确认并添加主机到本机SSH可信列表。若返回 Hi XXX! You’ve successfully authenticated, but Gitee.com does not provide shell access. 内容,则证明添加成功。 ? 在(yes/no/[fingerprint])? 输入yes,首次使用需要确认并添加到主机SSH可信列表。显示上图返回信息则为SSH添加成
2. 创建空白的码云仓库
? 点击"+"–>新建仓库–>填写仓库名–>“创建”
3. 上传本地项目到码云的空白仓库
? 点击SSH方式,用以下命令把项目上传到码云:
cd existing_git_repo
git remote add origin git@gitee.com:jchim/uni-shop2.git
git push -u origin "master"
? ??注意:两行代码具体内容是啥参考新建仓库的内容说明,复制即可。
? 显示以下结果表示上传成功!
4. 注意点
① 上传之前项目目录必须有.git文件,证明项目已经使用git管理项目。
链接:如何使用git管理文件
② 目前(我自己)每个本地仓库(项目)只能上传到一个git仓库中。如果企图把一个本地项目上传到多个git仓库中,会报错:error: remote origin already exists. ,要删除config文件后才能上传到其他仓库。
但是删除config文件之后不知道关联性是否脱离了,也不清楚删除config会对原仓库(第一个远程仓库)有什么影响。
二、分支的提交与合并
1. 创建名为 “tabbar” 的分支
运行如下的命令,基于 master 分支在本地创建 tabbar 子分支,用来开发和 tabbar 相关的功能:
git checkout -b tabbar
2. 将本地的 tabbar 分支进行本地的 commit 提交
git add .
git status
git commit -m "完成了 tabBar 的开发"
3. 将本地的 tabbar 分支推送到远程仓库进行保存
git push -u origin tabbar
??注意:首次提交要带-u ,表示将本地的"tabbar分支" 提交到远程的origin仓库,也叫做"tabbar分支"
4. 将本地的 tabbar 分支合并到本地的 master 分支
git checkout master
git merge tabbar
git push
5.删除本地的 tabbar 分支:
git branch -d tabbar
??注意:删除某个分支时,必须先切换到其他分支才能这个分支
三、Gitee常用命令汇总
1. Git 常用命令速查
git branch 查看本地所有分支 git status 查看当前状态 git commit 提交 git branch -a 查看所有的分支 git branch -r 查看远程所有分支 git commit -am “init” 提交并且加注释 git remote add origin git@192.168.1.119:ndshow git push origin master 将文件给推到服务器上 git remote show origin 显示远程库origin里的资源 git push origin master:develop git push origin master:hb-dev 将本地库与服务器上的库进行关联 git checkout --track origin/dev 切换到远程dev分支 git branch -D master develop 删除本地库develop git checkout -b dev 建立一个新的本地分支dev git merge origin/dev 将分支dev与当前分支进行合并 git checkout dev 切换到本地dev分支 git remote show 查看远程库 git add . git rm 文件名(包括路径) 从git中删除指定文件 git clone git://github.com/schacon/grit.git 从服务器上将代码给拉下来 git config --list 看所有用户 git ls-files 看已经被提交的 git rm [file name] 删除一个文件 git commit -a 提交当前repos的所有的改变 git add [file name] 添加一个文件到git index git commit -v 当你用-v参数的时候可以看commit的差异 git commit -m “This is the message describing the commit” 添加commit信息 git commit -a -a是代表add,把所有的change加到git index里然后再commit git commit -a -v 一般提交命令 git log 看你commit的日志 git diff 查看尚未暂存的更新 git rm a.a 移除文件(从暂存区和工作区中删除) git rm --cached a.a 移除文件(只从暂存区中删除) git commit -m “remove” 移除文件(从Git中删除) git rm -f a.a 强行移除修改后文件(从暂存区和工作区中删除) git diff --cached 或 $ git diff --staged 查看尚未提交的更新 git stash push 将文件给push到一个临时空间中 git stash pop 将文件从临时空间pop下来
git remote add origin git@github.com:username/Hello-World.git git push origin master 将本地项目给提交到服务器中
git pull 本地与服务器端同步
git push (远程仓库名) (分支名) 将本地分支推送到服务器上去。 git push origin serverfix:awesomebranch
git fetch 相当于是从远程获取最新版本到本地,不会自动merge git commit -a -m “log_message” (-a是提交所有改动,-m是加入log信息) 本地修改同步至服务器端 : git branch branch_0.1 master 从主分支master创建branch_0.1分支 git branch -m branch_0.1 branch_1.0 将branch_0.1重命名为branch_1.0 git checkout branch_1.0/master 切换到branch_1.0/master分支 du -hs
git branch 删除远程branch git push origin :branch_remote_name git branch -r -d branch_remote_name
初始化版本库,并提交到远程服务器端 mkdir WebApp cd WebApp git init 本地初始化 touch README git add README 添加文件 git commit -m ‘first commit’ git remote add origin git@github.com:daixu/WebApp.git 增加一个远程服务器端 上面的命令会增加URL地址为’git@github.com:daixu/WebApp.git’,名称为origin的远程服务器库,以后提交代码的时候只需要使用 origin别名即可
2. Git 命令速查表
2.1 常用的Git命令
命令 | 简要说明 | git add | 添加至暂存区 | git add–interactive | 交互式添加 | git apply | 应用补丁 | git am | 应用邮件格式补丁 | git annotate | 同义词,等同于 git blame | git archive | 文件归档打包 | git bisect | 二分查找 | git blame | 文件逐行追溯 | git branch | 分支管理 | git cat-file | 版本库对象研究工具 | git checkout | 检出到工作区、切换或创建分支 | git cherry-pick | 提交拣选 | git citool | 图形化提交,相当于 git gui?命令 | git clean | 清除工作区未跟踪文件 | git clone | 克隆版本库 | git commit | 提交 | git config | 查询和修改配置 | git describe | 通过里程碑直观地显示提交ID | git diff | 差异比较 | git difftool | 调用图形化差异比较工具 | git fetch | 获取远程版本库的提交 | git format-patch | 创建邮件格式的补丁文件。参见 git am?命令 | git grep | 文件内容搜索定位工具 | git gui | 基于Tcl/Tk的图形化工具,侧重提交等操作 | git help | 帮助 | git init | 版本库初始化 | git init-db* | 同义词,等同于 git init | git log | 显示提交日志 | git merge | 分支合并 | git mergetool | 图形化冲突解决 | git mv | 重命名 | git pull | 拉回远程版本库的提交 | git push | 推送至远程版本库 | git rebase | 分支变基 | git rebase–interactive | 交互式分支变基 | git reflog | 分支等引用变更记录管理 | git remote | 远程版本库管理 | git repo-config* | 同义词,等同于 git config | git reset | 重置改变分支“游标”指向 | git rev-parse | 将各种引用表示法转换为哈希值等 | git revert | 反转提交 | git rm | 删除文件 | git show | 显示各种类型的对象 | git stage* | 同义词,等同于 git add | git stash | 保存和恢复进度 | git status | 显示工作区文件状态 | git tag | 里程碑管理 |
2.2 对象库操作相关命令
命令 | 简要说明 | git commit-tree | 从树对象创建提交 | git hash-object | 从标准输入或文件计算哈希值或创建对象 | git ls-files | 显示工作区和暂存区文件 | git ls-tree | 显示树对象包含的文件 | git mktag | 读取标准输入创建一个里程碑对象 | git mktree | 读取标准输入创建一个树对象 | git read-tree | 读取树对象到暂存区 | git update-index | 工作区内容注册到暂存区及暂存区管理 | git unpack-file | 创建临时文件包含指定 blob?的内容 | git write-tree | 从暂存区创建一个树对象 |
2.3 更多命令汇总查看博客
链接: Git 常用命令大全
|