Git是一款开源的分布式的代码管理工具。
何为分布式和集中式?集中式就是:代码仓库在中央服务器上,所有人提交代码都要提交到中央服务器上。如果一旦断网,便不能进行代码提交。然而,分布式 就是:每个人的电脑上都有一个代码仓库,在代码提交时,先提交到本地仓库。然后再推送到远程服务器端的代码仓库中。分布式的好处是:即使断网,还是能能进行Git操作,先将代码提交到本地仓库,只要等到有网的时候,再推送到服务器端的代码仓库。
只用git管理器的步骤,1.写完代码后,执行git add 操作,将代码放到暂存区,执行git status查看有没有问题,没有问题的话,执行2。2. 执行git commit -m "message" 操作,将代码提交到本地仓库。
git关联本地仓库和远端仓库。(1)在服务器端创建一个远程仓库。(2)在本地项目文件夹下,通过执行命令git init 初始化本地仓库,这是项目文件夹中会出现一个.git 的文件,这说明,项目已经被git管理起来了,也以为着,本地就有一个本地仓库了。(3)通过命令将代码提交到本地仓库,执行git add 和git commit -m "message" 。(4)关联本地仓库和远端仓库 git remote add origin 远端仓库地址,点击enter键即可。这是没有消息就是最好的消息。 (5)添加ssh / https 。ssh更安全。 ssh -keygen -t rsa -c "your email@example.com" 。 这事可以执行git remote -v 查看远端。(6)从服务器上拉去取代码 git pull origin master --allow-unrelated histories。(7)将本地仓库代码推送到远端 git push origin master 。注意将代码推送到远端之前,一定先执行pull命令。补充:也可将本地分支推送到远端git push -u origin/devmaster。
github常见错误提示及解决办法:
(1)提示出错信息:fatal: remote origin already exists
解决办法如下:
1、先输入$ git remote rm origin
2、再输入$ git remote add origin git@github.com:djqiang/gitdemo.git 就不会报错了!
3、如果输入$ git remote rm origin 还是报错的话,error: Could not remove config section 'remote.origin'. 我们需要修改gitconfig文件的内容
4、找到你的github的安装路径,我的是 C:\Users\ASUS\AppData\Local\GitHub\PortableGit_ca477551eeb4aea0e4ae9fcd3358bd96720bb5c8\etc
5、找到一个名为gitconfig的文件,打开它把里面的[remote "origin"]那一行
删掉就好了!
如果输入$ ssh -T git@github.com
出现错误提示:Permission denied (publickey).因为新生成的key不能加入ssh就会导致连接不上github。
解决办法如下:
1、先输入$ ssh-agent,再输入$ ssh-add ~/.ssh/id_key,这样就可以了。
2、如果还是不行的话,输入ssh-add ~/.ssh/id_key 命令后出现报错Could not open a connection to your authentication agent.解决方法是key用Git Gui的ssh工具生成,这样生成的时候key就直接保存在ssh中了,不需要再ssh-add命令加入了,其它的user,token等配置都用命令行来做。
3、最好检查一下在你复制id_rsa.pub文件的内容时有没有产生多余的空格或空行,有些编辑器会帮你添加这些的
如果输入$ git push origin master
提示出错信息:error:failed to push som refs to .......
解决办法如下:
1、先输入$ git pull origin master //先把远程服务器github上面的文件拉下来
2、再输入$ git push origin master
3、如果出现报错 fatal: Couldn't find remote ref master或者fatal: 'origin' does not appear to be a git repository以及fatal: Could not read from remote repository.
4、则需要重新输入$ git remote add origingit@github.com:djqiang/gitdemo.git