使用git和github存储代码文件

Git版本控制系统是一个分布式的系统, 是用来保存工程源代码历史状态的命令行工具;
GitHub 免费的远程仓库,也是一个开源协作社区,通过GitHub,既可以让别人参与你的开源项目,也可以参与别人的开源项目。
我们可以利用git的本地存储和github的远地存储实现存储你的代码。本文介绍的是怎么创建Repository以及上传本地代码。
可参考: [url][http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/001374829472990293f16b45df14f35b94b3e8a026220c5000[/url]

1.[url]www.github.com[/url] 注册帐号
2.回到github首页,点击页面右下角“New Repository”,创建存储仓库
3.在我们能用Git工作之前,我们需要做个一次性的配置。为了Git能跟踪到谁做了修改,我们需要设置你的用户名。

git config --global user.name "your_username"
git config --global user.email "your_email@domain.com"

发送这些命令,相应地替换掉其中的“your_username”和“your_email@domain.com”(注意引号):
4.创建一个本地代码库:(.git的隐藏文件夹,就是你的本地代码库。)

$ mkdir ~/party_bid //创建一个项目party_bid 如果已经创建好工程文件,忽略这一步,直接执行下一条代码
$ cd ~/party_bid //打开这个项目
$ git init //初始化
$ touch README
$ git add README //更新README文件
$ git commit -m 'first commit'//提交代码到本地缓存,并注释信息“first commit”
$ git remote add origin https://github.com/tiantian-yuqing/party_bid.git
//在第一次你想推送一个本地代码库到远程代码库时,你需要把它添加到你的项目配置里 //注意这里的“origin”只是一个习惯。它是你的远程代码库的别名
$ git push -u origin master //将本地项目更新到github上去

现在查看github上面的hello world 项目,是不是发现已经将本地中的README文件更新上来了。 :) 恭喜!
5.修改文件
6.加载(Stage)文件
我们现在需要加载(stage)所有项目文件。发送:
git add .

最后的“.”符号的意思是“所有文件、文件夹和子文件夹”。假如我们只想要把特定文件添加到源代码控制中去,我们可以指定它们:
git add my_file, my_other_file

7.提交文件
现在,我们想要提交已加载(staged)的文件。阅读“添加一个时间点,在这里你的文件处在一个可还原的状态”。我们提交我们的文件时,总是附带着有意义的注释,描述了它们现在的状态。
git commit -m "initial commit"

8.推送你的本地代码库的主干分支到你的远程代码库:
git push origin master

9.版本回退:
可参考:[url]http://blog.csdn.net/xsckernel/article/details/9021225[/url]
如果你想回退到之前的版本,可以使用

git log //显示最近提交的日志
git reset --hard HEAD^ //回退到上一版本(注:会将代码重置,就像没有提交过一样)

[img]http://www.liaoxuefeng.com/files/attachments/0013849087937492135fbf4bbd24dfcbc18349a8a59d36d000/0[/img]
在Git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。
10.分支管理:

$ git checkout -b dev //首先我们创建dev分支,然后切换到dev分支:
Switched to a new branch 'dev'

[img]http://www.liaoxuefeng.com/files/attachments/001384908811773187a597e2d844eefb11f5cf5d56135ca000/0[/img]

$ git branch //用git branch命令查看当前分支
* dev
master

然后,把分支推送到远程仓库
$ git push origin dev

接下来我们就可以在dev分支上正常提交:

git add.
git commit -m ""

[img]http://www.liaoxuefeng.com/files/attachments/0013849088235627813efe7649b4f008900e5365bb72323000/0[/img]
现在,dev分支的工作完成,我们就可以切换回master分支:

$ git checkout master
Switched to branch 'master'

[img]http://www.liaoxuefeng.com/files/attachments/001384908892295909f96758654469cad60dc50edfa9abd000/0[/img]
现在,我们把dev分支的工作成果合并到master分支上:
$ git merge dev

[img]http://www.liaoxuefeng.com/files/attachments/00138490883510324231a837e5d4aee844d3e4692ba50f5000/0[/img]
合并完分支后,甚至可以删除dev分支

$ git branch -d dev
Deleted branch dev (was fec145a).

删除后,查看branch,就只剩下master分支了:

$ git branch
* master

[img]http://www.liaoxuefeng.com/files/attachments/001384908867187c83ca970bf0f46efa19badad99c40235000/0[/img]
因为创建、合并和删除分支非常快,所以Git鼓励你使用分支完成某个任务,合并后再删掉分支,这和直接在master分支上工作效果是一样的,但过程更安全。
11.删除文件:

git rm -rf .idea //删除文件夹,-rf 是删除文件夹下的内容
git rm .idea //删除文件

提交后在github中是不是已经删除了文件? :)
------------------------------------关于可能出现的错误----------------------------------

1.在执行

$ git remote addorigin git@github.com:defnngj/hello-world.git


错误提示:fatal: remote origin already exists.

解决办法:

$ git remote rm origin


然后在执行:
$ git remote add origin git@github.com:defnngj/hello-world.git 
就不会报错误了

2.

提示:Warning: Permanently added the RSA host key for IP address '192.30.252.131' to the list of known hosts.
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
出现这个问题是因为,没有在github账号添加SSH key(设置好SSH key,以后提交git push可以不需要输入密码)

解决方法如下
在终端输入。
ssh-keygen -t rsa -C"forwhat.cn"//注意。为用户名

如果执行成功。返回Generating public/private rsa key pair.
Enter file in which to save the key (/home/forwhat.cn/.ssh/id_rsa):
在这里就是设置存储地址了.反正我是直接按的回车
然后还会返回
Enter passphrase (empty for no passphrase):
再次直接回车。
Enter same passphrase again:
再次回车。
Your identification has been saved in /home/forwhat.cn/.ssh/id_rsa.
Your public key has been saved in /home/forwhat.cn/.ssh/id_rsa.pub.
The key fingerprint is:
这里有一串数。我把他屏蔽了。
The key's randomart image is:
+--[ RSA 2048]----+
| |
| |
| |
| o |
| + . S |
| . = . o |
| o + +o.o |
|E o . o.=+. |
|.+ ==+ooo. |
+-----------------+
这样SSH key就生成了。直接cat一下就好了。

cat /home/tiantian/.ssh/id_rsa.pub//在你的主目录下生成了.ssh隐藏文件

ssh-rsa AAAAB3NzaC1yc2EAAAADAQ等一长串的字符

把显示出来的直接添加到github账户设置里边的SSH keys里面(不需要填写title)
回来再
git pull

就开始远程拷贝代码了。每次git push可以不输入密码了
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值