Git指令的简单有效使用
Git简介
目前在开发和项目管理中,github和gitlab、码云等等一系列的分布式代码托管服务器成为主流的分布式管理仓库。现在我将重点给大家介绍git仓库托管如何使用及高效、无异常的使用方法。
创建本地新仓库
进入本地的项目目录,右键“Git Bash here”,调出git命令行界面,然后输入
$ git init
就是将目录下的所有文件上传,也可以将“.”换成具体的文件名
$ git add .
将项目提交到gitHub
$ git commit -m “注释语句”
在github上创建新的repository,步骤此处不再详细描述
点击 “Create repository”跳转到一个连接,获取到本项目的github地址(https地址或者ssh地址)
将本地的代码关联到github上
$ git remote add origin 项目的github地址
上传代码到github之前需要先pull
$ git pull origin master
上传代码到远程仓库
$ git push -f origin master
注释: origin 远程仓库名, master 分支名, -f 为force,意为:强行、强制。
查看当前branch列表
$ git branch -a
这个是查看全部branch,包括远程和本地,-a其实就是all
$ git branch -r
查看远程,-r==romote
$ git branch -l
查看本地,-l==local
切换的话,直接 git checkout [branch-name] 即可。
注:切换branch前最好将你现在的branch代码commit,以防代码丢失。
同步fork到自己仓库的源仓库代码更新
首先 把别人的仓库添加到你的上游远程,通常命名为 upstream。操作一次就可以了。
$ git remote add upstream 原作者仓库地址
此时再用 git remote -v 就可以看到一个origin是你的,另外一个upstream是原作者的。
其次 更新代码
$ git fetch upstream
拉去原作者的仓库更新。
$ git checkout master
切换到自己的master
$ git merge upstream/master
merge或者rebase到你的master
最后不要忘了把merge后的代码提交到自己的仓库中。
SSH证书的使用
简介
SSH是目前较可靠,转为远程登录会话和其他网络服务提供安全的协议。
利用SSH协议可以有效防止远程管理过程中的信息泄露问题。
Git就采用了SSH加密传输协议,加密传输的算法有很多,git可以使用RSA,RSA的核心就是使用一对特定的数字,使用其中一个数字可以用来加密,而另外一个数字可以用来解密。
这两个数字就是你在使用git、github和gitlab的时候所遇到的public key 也就是公钥以及private key 私钥。公钥是用来加密的数字,这也就是为什么本级生成了公钥之后,要上传到gitlab、GitHub的原因。从GitHub或gitlab发回来的用公钥加密过的数据,可以用你本地的私钥来还原。如果key丢失,不管是公钥还是私钥,丢失哪一个都不能用,需要重新生成一次然后在gitlab账户中再设置一次就可以了。
生成SSH KEY
你可以按如下命令来生成 sshkey:
$ ssh-keygen -t rsa -C “xxxxx@xxxxx.com“
接着会提示你输入密码(这个没有必要输入,我本人没有输入),点击三次回车,然后执行到出现一个矩形框的时候,SSH KEY生成成功
查看你的 public key,生成后存放在“用户文件夹”下的“.ssh”文件夹下,一般为隐藏文件夹。也可以命令行查看:
$ cat ~/.ssh/id_rsa.pub
把公钥id_rsa.pub里面的内容,添加到git账号下。详细操作此处不做描述。
添加后,在终端(Terminal)中输入
$ ssh -T git@gitee.com
若返回 Welcome to Gitee.com, yourname! 则证明添加成功。
若不成功,根据提示信息进行排除问题:
一般常见问题:
1. ssh密钥生成错误,可以重新生成一次;
2. .ssh文件夹权限问题,最好是新建,而非直接从别处复制粘贴过来。
3. 未加载ssh密钥服务。退出git命令行或客户端,重新打开。
Git多用户账户配置
某些情况下,一台开发电脑可能会同时连接多个代码仓库,而同一个ssh密钥只能分配给唯一的git账户使用。因此配置多用户密钥服务十分必要。
在.shh目录下,创建config文本文件(无后缀名),输入以下内容:
//# 配置git.oschina.net
Host gitee.com
HostName gitee.com
IdentityFile /home/.ssh/id_rsa_oschina
PreferredAuthentications publickey
User GyWfnh
//# 配置git.oschina.net
Host gitee.com.xxx
HostName gitee.com
IdentityFile /home/.ssh/id_rsa_xxx
PreferredAuthentications publickey
User GyWfnh
// 此条配置下的repository url要修改为https://gitee.com.xxx......或者git@gitee.com.xxx......
注:创建config文件时,要把上面的 # 前面的 // 去掉
配置Git账号的用户名和邮箱
全局配置Git用户名和邮箱:
$ git config –global user.name “xxx”
$ git config –global user.email “xxx@xxx.com“
配置局部Git用户名和邮箱:
git config user.name “xxx”
git config user.email “xxx@xxx.com“