github 代码托管

1.申请一个github帐号,然后新建一个repositories,取个名字。本例所取名字为Student-Information-Manage-System

2.在ubuntu上安装Git

sudo apt-get install git

3.生成密钥 ssh-keygen -t rsa -C “[email protected]

其中”[email protected]”是你的邮箱名。之后会要求确认路径和输入密码,使用默认的一路回车就行。

成功的话会在~/下生成.ssh文件夹,按住ctrl+h可以显示隐藏文件夹,点进去,打开id_rsa.pub,复制里面的key。

4.回到github,进入Account Setting,左边选择SSH Keys,Add SSH,title随便填,粘贴key.

5.验证是否成功,输入ssh -T [email protected],如果看到如下信息,表示成功连上github.

6.在将本地仓库上传到github之前,需要设置username和email,因为github每次commit都会记录他们。

git config –global user.name “yourname”

git config –global user.email youremail

7.cd要上传的仓库路径,添加远程地址

git remote add origin [email protected]:yourName/yourRepo.git

后面的yourName和yourRepo表示你在github的用户名和刚才新建的仓库,加完之后进入.git,打开config,这里会多出一个remote “origin“内容,此处origin可替换为你想要的其它名称

这就是刚才添加的远程地址,也可以直接修改config来配置远程地址。

8.提交,上传

1)接下来在本地仓库添加一些文件,比如README(注意先在本地仓库添加README文件后执行下面命令)

git add README

git commit -m “first commit”

2)上传到github

git push origin master

注意:git push命令将本地仓库推送到远程服务器,git pull相反。(此处orgin可换成你自定义的名称)

注意:在上面提交命令后,可能会出现“因为您当前分支的最新提交落后于其对应的远程分支”等类似错误,

需要先获取远端更新并与本地合并,再git push。

合并操作如下:

git fetch origin   //获取远程更新

git merge origin/master

在git push则可以成功。

如果想要添加所有文件,可以使用“git add .”代替。

添加完成后可以在github上看到所有添加的文件

注意:如果你的本地仓库中包含了已在github上托管的项目,那么git status可能会给出如下提示:modified: xxx(modified content, untracked content),即使你将这类文件夹上传到github,也是一个空文件夹的形式存在。不过你可以删除该文件夹中的.git/再重新上传一次。

仓库中部分文件夹删除

搬砖久了,难免有些旧砖要甩掉,但是你一定不想重新构建一个仓库吧,那就需要学习删除指定文件夹的功能了。

如果你只是想删除远程仓库中的指定文件夹(本地仓库保留),那么下面的方法可能比较适合你。

git rm -r –cached olddirectory
git commit -m “Remove the now ignored directory some-directory”
最后push~

如果本地仓库都不想留,那么就

sudo rm -rf olddirectory
git add -A
git commit -m ‘remove olddirectory’
git push origin master

ps.  git add -A和 git add .   git add -u在功能上看似很相近,但还是存在一点差别

git add . :他会监控工作区的状态树,使用它会把工作时的所有变化提交到暂存区,包括文件内容修改(modified)以及新文件(new),但不包括被删除的文件。

git add -u :他仅监控已经被add的文件(即tracked file),他会将被修改的文件提交到暂存区。add -u 不会提交新文件(untracked file)。(git add –update的缩写)

git add -A :是上面两个功能的合集(git add –all的缩写)

ref:http://blog.csdn.net/tianya_team/article/details/72454473

https://www.zhihu.com/question/20418177

http://www.treeney.com/2017/07/31/github-%e4%bb%a3%e7%a0%81%e6%89%98%e7%ae%a1/