一:建立Repositories
1:首先在github下建立一个账号。这个不用多说,而后建立一个Repositories。
2:而后在ubuntu下安装git相关的东东:html
1 |
sudo apt-get install git-core git-gui git-doc -y |
3:在ubuntu本地建立一个ssh密匙:git
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[P\N]).github
1 |
ssh -T git@github.com |
注意git@github.com不能改变,那是github官网的地址.运行以后会提示是否接受新的sshkey请求,输入'yes',而后还会有一个请求访问咱们刚才创建的id_rsa私钥请求,这时输入私钥的密码,若是获得以下提示就表示成功:shell
1 |
Hi justchen! You've successfully authenticated, but GitHub does not provide shell access. |
5:接下来就是最重要的环节了,配置github的环境.
第一次初始化git项目目录的话,创建项目目录,而后进入目录再依次运行如下命令进行初始化.ubuntu
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命令.bash
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 |