
git仓库之间的代码传输协议主要使用ssh协议。而一般搭建gitlab的时候使用的git用户是没有密码的,因此直接ssh是不能登录的,就需要使用ssh-keygen上传公钥,使用非对称加密传输。下面讲述如何上传你的ssh公钥:
在终端中敲下面的命令,第一步会生成一对私钥和公钥,分别存在 ~/.ssh/id_rsa和~/.ssh/id_rsa.pub中。第二步查看公钥字符串。
ssh-keygen -t rsa -C "$your_email"
cat ~/.ssh/id_rsa.pub
在面板上依次点击Profile Settings –> SSH Keys –> Add SSH Keys。然后把上一步中的id_rsa.pub中的内容拷贝出来粘贴到输入框中,保存。
完成上面两步之后就成功的添加了sshkey了,然后就可以上传代码了。
如果你已经使用过git了,那么这一步对你来说可以跳过了。整体来说比较简单的。下面的$project_root代表工程根目录
cd $project_rootgit initgit add .git commit -m 'init commit'git remote add origin git@example.com:namespace/projectname.gitgit push origin master在svn中,我们都叫checkout. 把代码checkout到本地。而git中我们叫克隆,克隆会把整个仓库都拉到本地。
如,我要把刚才的工程再clone到本地。
git clone git@example.com:namespace/projectname.git
获取当前的用户名
git config user.name
修改用户名
git config --global user.name "张三"
查看本地已经存在的分支,并且在当前分支的前面加 ”*“号标记。
查看远程的分支
origin/HEAD -> origin/master 这个分支中,origin/HEAD就像一个指针,表示默认分支。
查看所有分支包括本地和远程
创建新的本地分支,但是不会进行切换
这个命令用于将本地分支与远程分支建立连接。< branch >是远程分支名,feture-test是本地分支名。
重命名分支,如果newbranch名字分支已经存在,则需要使用-M强制重命名,否则,使用-m进行重命名。
删除branchname分支
注意:分支如果有 没有合并到当前分支的内容,使用-D强制删除,并且不能删除当前分支。

删除远程branchname分支
取远程分支 并 分化一个新的分支到本地;然后此刻,本地已经切换到了该新分支,执行 git pull ,将代码拉下来,本地才有了完整的对应分支;前提***:先查看远程分支情况,执行 git branch -r
例子:
git checkout -b hotfix_v2003 origin/hotfix_v2003
创建一个新的本地分支,需要注意,此处只是创建分支,不进行分支切换;git checkout -b _分支名 创建一个新的本地分支,同时切换到刚新建的分支上。
重命名分支,如果newbranch名字已经存在,则需要使用-M强制重命名,否则,使用-m进行重命名。
删除branchname分支,D表示强制删除
删除分支
强制删除分支
删除远程branchname分支,通知还需要执行push命令,才能真正删除:git push origin : branchname
补充:如果不执行push命令,虽然通过git branch -r已经看不到branchname了,但在GitHub的网页上依然能看到branchname,而且执行git fetch命令后,再git branch -r,由可以看到branchname,说明如果不push没有真正删除远程分支。
查看各个分支最后一次提交
查看哪些分支合并入当前分支
查看哪些分支未合并入当前分支
更新远程库到本地
推送分支
去远程分支合并到本地
删除远程分支

最近,有朋友私信让我就git 使用做篇文章分享,分享一下我在日常工作中是如何使用git的。我当场就收费两包辣条,最后讨价还价,朋友用1.5包辣条骗到了这篇文章,等他欣喜的走了我打算直接分享出来,气死这个吝啬鬼,当然最终还是希望本文对你有所帮助。
首先我们简单的概述一下git,git有三个分区,分别是:
工作区(Working Directory):开发者直接编辑的地方,只要文件发生了更改,在这就会显示出来,包含追踪与未追踪文件。通过git