首先要创建一个仓库,在首页,
,点击repositories,写好仓库名和描述,因为我们创建的是一个github仓库,一个仓库里只能存放(或叫对应)一个项目。
ps:chrome有个插件叫Octotree挺好用的,主要是看github的目录,以树状显示。
接着在linux创建ssh密钥和安装git
- 创建ssh密钥
- 在~目录用ssh-keygen -t rsa -C "你的邮箱",期间会让你输入一个密码,那个密码是用来提交目录是输入的
- ~/.ssh/id_rsa.pub就是刚才生成的密钥,
登陆github系统。点击右上角的 Account Settings--->SSH Public keys ---> add another public keys
把你本地生成的密钥复制到里面(key文本框中), 点击 add key 就ok了
在git中运行下面命令:
$ ssh –T git@github.com
如果提示:Hi defnngj You've successfully authenticated, but GitHub does not provide shell access. 说明你连接成功了。
- 创建一个目录(比如我要创建一个关于python的,就是相当于本地仓库) mrdir test_site_speed(使用上面的仓库名)
- 创建新仓库 git init
- 在这个路径创建了仓库
- 进入test_site_speed把代码复制进去,这就是要上传的东西
- git config --global user.email “邮箱” git config --global user.name “用户名”,第一次是需要配置
首先把我的账号里面的仓库下回来,下载本地,使用命令:
git clone /path/to/repository(也就是github的那里)
然后再把test_site_speed里面的代码,用git add test.txt(添加到缓存区)
再写上这个文件的介绍,git commit -m “first commit”,这样test.txt文件就在本地仓库的head那里了。
git remote add orgin 地址,地址就是仓库,把代码发送到远程的仓库上面去
最后使用命令git push origin master打对账号密码就能上传到远程仓库里面了
期间我出现了这个问题,
最后使用了两个命令:
git remote show origin
git remote remove origin
master是一个开始默认的仓库,还可以在上面创建分支:
l git checkout -b test1
l git push origin test1
git merge test1合并test1分支到我目前的分支(master)
项目中删除了一些文件,如何提交?
假如远程仓库中已经存了aaa这个文件,我fetch了下来,并删除了aaa这个文件,想再push上到远程仓库中,并使远程仓库中的项目被新的修改覆盖(也是是远程仓库中的aaa也被删除)
$ git status //可以看到我们删除的哪些文件
$ git add . //删除之后的文件提交git管理。
$ git rm src/com/hzh/hibernate/dao/aaa.java //移除我们删除的那个文件,不然git不允许我们往远程仓库提交。
Ps: 如果你想删除的是某个目录(java包),这里想移除整个目录的内容。
$ git rm src/com/hzh/hibernate/bbb/ -r // -r 会把bbb/目录下的所有内容一次性移动。
远程创建了一个新仓库,本地创建了一个新项目,如何使新的项目与仓库对应起来?
其实,这个也很简单,只是我当时对那些命令不太理解,所以比较模糊,不知如何对应。
$ git remote add origin git@github.com:defnngj/hibernate-demo.git
//还是这个命令,在你push项目之前加上这一句就OK了。
git@github.com:defnngj/hibernate-demo.git 就是你常见的新仓库的地址啊。git切换到新项目下,在push之前,加上这一句,我们创建的新仓库就与新项目建立了连接。
还有其他命令:
- git status //查看当前项目下所有文的状态,如果第一次,你会发现都红颜色的,因为它还没有交给git/github管理。
- git remote -v //查看你当前项目远程连接的是哪个仓库地址。
-
git fetch origin //取得远程更新,这里可以看做是准备要取了
- git merge origin/master //把更新的内容合并到本地分支/master