ubuntu下github的使用
一:创建Repositories
1:首先在github下创建一个帐号。这个不用多说,然后创建一个Repositories。
2:然后在ubuntu下安装git相关的东东:
1 |
sudo apt-get install git-core git-gui git-doc -y |
3:在ubuntu本地创建一个ssh密匙:
1 |
ssh-keygen -t rsa -C "your_email@youremail.com" |
会提示在用户home目录下.ssh子文件夹中生成一个密匙,然后要求输也密码等等,最后会得下如下提示:
其中会在/~/home/.ssh/文件夹中生成id_rsa.pub与id_rsa两个文件.其中id_rsa是私钥,保存存在本地,id_rsa.pub是公钥.
然后将公钥中的内容粘贴到你github帐号中的SSH Public Keys的位置。注意小心不要复制到空格。
4:测试ssh是否连接正常(由于github官网有存在被G[F]W的可能,你可能需要V[PN]).
1 |
ssh -T git@github.com |
注意git@github.com不能改变,那是github官网的地址.运行之后会提示是否接受新的sshkey请求,输入'yes',然后还会有一个请求访问我们刚才建立的id_rsa私钥请求,这时输入私钥的密码,如果得到如下提示就表示成功:
1 |
Hi justchen! You've successfully authenticated, but GitHub does not provide shell access. |
5:接下来就是最重要的环节了,配置github的环境.
第一次初始化git项目目录的话,建立项目目录,然后进入目录再依次运行以下命令进行初始化.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
git config --global user.email git config --global user.name git init # github会自动读取你的README内容并显示在项目简介中,因此先创建README touch README # 将README加到index中 git add README # 提交到版本库中 git commit -m 'first commit' # -m后面的字符串表示本次变化的的提交说明 #运行git add xxx或git commit -m 'xxx'后并没有把文件上传到github服务器,只是在git本地更新了代码版本 # 把github的repo加入为远程的repo git remote add origin git@github.com:/test.git # 把目前的commit状态push并同步到github上面,需要访问你的ssh私钥并输入密码 git push origin master #上面这条命令是以原始master的身份提交git,需要访问你的ssh私钥并输入密码 #如果你已经创建过一次git remote add origin xx,只是代码更新时,就运行下面这行就可以了 git push origin master |
附一些常用的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 |
# 创建一个版本库 git init # 每次修改好了后,可以先将修改存入stage(快照/索引)中 git add # 修改了大量文件则使用下面这个命令批量存入 git add . # 使用commit将快照/索引中的内容提交到版本库中 git commit -m "msg" # 也可以将git add与git commit用一个指令完成 git commit -a -m "msg" # 将本地的git档案与github(远程)上的同步 git push # 将github(远程)的git档案与本地的同步(即更新本地端的repo) git pull # 例如,pull指令其实包含了fetch(將变更复制回來)以及merge(合并)操作 git pull git://github.com/tom/test.git # 另外版本控制系統的branch功能也很有意思,若同时修改bug,又要加入新功能,可以fork出一个branch:一个专门修bug,一个专门加入新功能,等到稳定后再merge合并 git branch bug_fix # 建立branch,名为bug_fix git checkout bug_fix # 切换到bug_fix git checkout master #切换到主要的repo git merge bug_fix #把bug_fix这个branch和现在的branch合并 # 若有remote的branch,想要查看并checkout git branch -r # 查看远程branch git checkout -b bug_fix_local bug_fix_remote #把本地端切换为远程的bug_fix_remote branch并命名为bug_fix_local # 还有其它可以查看repo状态的工具 git log #可以查看每次commit的改变 git diff #可以查看最近一次改变的內容,加上参数可以看其它的改变并互相比较 git show #可以看某次的变更 # 若想知道目前工作树的状态,可以輸入 git status |