首先下载git
1、在你项目的文件夹中使用 git init 在这里初始化建一个空仓库(记住这个是客服端的git仓库)
2、使用git命令git config --global user.name "你的名字或昵称" git config --global user.email "你的邮箱"来告诉git提交的人的信息,如果设置为global则你电脑上的每个git仓库都是使用这个配置
2、使用git add xxx 把你的文件提交到"缓存区"中(记住缓存区这个概念,你可以通过git status命令查询你提交的状态,用git diff查看你提交的修改)
3、使用git commit -m "备注" 提交你"缓存区"的文件到你本地的git仓库中(这个才是你真正把你的文件提交到git仓库中,此时你在用git status等命令去查看时,没有任何显示,这是因为你的"缓存区"已经清空)
4、接下来是把你的本地git仓库和远程的git仓库进行关联,这样你提交打的代码别人就可以pull下来了
使用命令ssh-keygen -t rsa -C "youremail@example.com"会在你的C:\Users\Administrator\.ssh下生成一个公钥id_rsa.pub和一个私钥id_rsa,把公钥文件中的秘钥复制出来粘贴到git.oschina.net/profile/sshkeys("没有oschina的账号,自己去注册一个,这里不多说")
ok,接下来你在git上建一个远程的空仓库,建好以后使用 git remote add origin git@git.oschina.net:chenping12/morning-star-product(这样本地的仓库就和远程的仓库关联起来了)
接下来把你的项目提交到远程仓库去,首先git pull origin master (这里有一个点要注意,看到没有我们是pull origin maste 这个是git默认把远程仓库的分支默认为maste,千万不要写你建的仓库名啊!!!),然后在git push -u origin maste,推送完成后去oschina的git仓库去看你的项目有没有推送过来
ok,到目前为止我们学会了使用本地仓库和远程仓库的关联(当然这里很多命令我就不去说了)
接下来要明白很重要的概念 就是为什么选择git而不是用Svn,由于git是分布式管理,二svn是集中管理,
svn是一种集中管理,这种有个缺点,首先如果中央服务区挂了那么大家都不能工作(就是你不能提交代码,必须等仓库恢复你才可以工作),还有svn一定要在局域网中才可以工作,git不需要,svn还有一个问题就是分支管理,在svn切分支是一件痛苦的事情,因为它是把整个代码copy一份,如果你的工程比较到,那下载下来和版本合并都相当慢
对于git来说先进的思想理念使得它成为了主流,它解决了svn很多问题,它可以在没有网的地方工作(这个得意于你有本地仓库存在的原因),当然的图标形式也是上面那种情况,虽然网上说它是分布式的,但是你的代码要别人共享,你还是必须要有一个远程的中央仓库,这样别人才能共享,git 的分支管理是相当先进的 你可以用git checkout -b dev 切换的dev分支工作,假如你在分支工作完成后,你可以把分支的内容合并到主干上去可以通过git merge dev这样就把分支的内容合并到主干上去了,当然要注意,合并之前你还是必须提交dev分支(git add xxx ,git commit -m "备注"),git 这样灵活的原因是由于git版本都是通过指针的形式的
这几张图就是git版本合并的全部过程,都是通过head指正的移动实现,所有git才可以这样高效