终于结束了奔波不断的轮岗,定岗之后要在单位电脑和个人电脑上同步自己的小玩具项目,总不能一直背着笔记本跑吧,自然而然想到用git/gitbub了,几行命令一敲轻松同步,岂不美哉!
Git - Downloads
https://github.com/
下载安装完毕,在要进行版本控制的项目文件夹里,右键选择 git bash here 打开操作界面
输入命令:git init 建立对这个文件夹的控制
接下来需要完成首次提交
输入命令:git add . 将全部文件记录至缓存区
输入命令: git commit -m "这里写点备注,不然不知道这次提交干了什么事"
完成首次提交,这时仓库里才有内容,空仓库不能push会报错
在本地生成密钥,添加到github用户设置里,这样就不需要用户名密码访问github的repository,等于将这台计算机加入到github的这位用户的白名单中,自己的设备可以这样做,否则还是输入用户密码吧
输入命令:ssh-keygen -t rsa -t rsa是rsa加密 -t dsa是dsa加密
按回车默认在C盘:用户(user)文件夹/用户名/下 生成了.ssh文件夹,其中放入了两个文件,id_rsa.pub公钥,id_rsa私钥
用记事本打开公钥文件,复制内容
登录gitbub,在settings的SSH and GPG keys中新建一个SSH keys将公钥粘贴到key中,至此完成了此台计算机和github用户的连接
可以输入 ssh -T [email protected]
与网站连接,并查看有无和用户连接,和哪个用户连接了
新建一个repository 复制链接
点击右侧方块快速复制SSH链接,这种方法不需要用户名密码,如果复制的是HTTPS链接,需要认证设备输入用户名密码,网络不行这条路会有困难
git remote add origin +复制的gihub链接 origin 是 github仓库在本地的别名,如此建立好链接
其他有关的命令:
git remote -v 查看链接的远程仓库
git remote rm origin 删除origin这个远程仓库链接,如果链接错误可以用这个命令删除链接后重新链接
接下来push本地仓库到远程
git push -u origin master 把分支master上传到远程主机的对应分支(master),同时设置origin为默认远程主机(可以使用git push 快速上传所有本地分支到对应分支,但在其他地方还是要加origin指明远程主机名),第一次上传会输入yes在.ssh文件夹下生成known文件
打开自己的电脑也要继续小玩具项目
先用同样的方法在自己电脑上生成SSH密钥,并且复制密钥在github用户设置中添加
完成后在进入git Bash
输入命令:git clone [email protected]:gitbub用户名/repository名.git 把远程仓库克隆下来了,这样实际文件只是主分支的,其他分支需要抓取
输入命令:git fetch 远程仓库名 分支
输入命令:git fetch origin 从远程仓库复制所有分支,暂存
输入命令:git branch -r 查看所有复制下来的远程分支
比较不同:git diff fetch_head(或是复制下来的远程分支名)
合并到当前分支:git merge fetch_head(或是复制下来的远程分支名)
git push 远程主机名 本地分支:远程分支 如果远程分支不存在则在远程仓库新建一个分支
查看本地分支:git branch
查看远程分支:git branch -r
查看全部分支:git branch -a
新建分支:git branch 分支名
删除分支:git branch -d 分支名
切换到分支:git checkout 分支名
$ find . "(" -name "*.cpp" -or -name "*.h" ")" -print | xargs wc -l
这样基本就实现了在单位电脑和个人电脑上同步项目的需求,git/github还有很多使用细节需要慢慢探索熟悉,来日方长。