github常见问题【转自百度知道】

配置全局的用户名和邮箱,这样push代码不用每次都输入$ git config --global user.name "Your Real Name" $ git config --global user.email you@email.address
正常使用git在本地创建一个项目的过程(根据自己的情况调整顺序)$ makdir ~/hello-world    //创建一个项目hello-world$ cd ~/hello-world       //打开这个项目$ git init             //初始化$ touch README$ git add README        //更新README文件,更新全部 git add .$ git commit -m ‘first commit’     //提交更新,并注释信息“first commit”$ git remote add origin git@github.com:defnngj/hello-world.git     //连接远程github项目,使用ssh方式, 也可以使用https方式git remote add origin https://github.com/IFWEB/node-deploy.git   也可以使用git clone origin https://github.com/IFWEB/node-deploy.git 方式克隆远程项目
$ git pull origin master //从git上下载代码到本地,如果报fatal: refusing to merge unrelated histories错误,则需要加上--allow-unrelated-histories$ git push -u origin master     //将本地项目更新到github项目上去
一些可能遇到的问题解决:如果输入$ git remote add origin git@github.com:djqiang(github帐号名)/gitdemo(项目名).git提示出错信息:fatal: remote origin already exists.解决办法如下:1、先输入$ git remote rm origin2、再输入$ 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\etc5、找到一个名为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 master3、如果出现报错 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 origin git@github.com:djqiang/gitdemo.gitpush时提示remote: Permission to IFWEB/node-deploy.git denied to user. fatal: unable to access 'https://github.com/user/xxx.git/': The requested URL returned error: 403解决办法:1.当前用户对https://github.com/user/xxx.git没有写权限,需要配置
注意:在将数据push到远程服务器之前,需要在github上手动建立一个repository,否则老是会报fatal: Could not read from remote repository.的错误
.gitignore书写规则见http://www.cnblogs.com/haiq/archive/2012/12/26/2833746.html

1.Gitadd 添加 多余文件这样的错误是由于, 有的时候 可能

git add . (空格+ 点) 表示当前目录所有文件,不小心就会提交其他文件

git add 如果添加了错误的文件的话

撤销操作

git status 先看一下add 中的文件git reset HEAD 如果后面什么都不跟的话 就是上一次add 里面的全部撤销了git reset HEAD XXX/XXX/XXX.Java就是对某个文件进行撤销了

2. git commit 错误

如果不小心 弄错了 git add后 , 又 git commit 了。先使用git log 查看节点commit xxxxxxxxxxxxxxxxxxxxxxxxxxMerge:Author:Date:

然后git reset commit_id

over

PS:还没有 push 也就是 repo upload 的时候

git reset commit_id (回退到上一个 提交的节点 代码还是原来你修改的)git reset –hard commit_id (回退到上一个commit节点, 代码也发生了改变,变成上一次的)

3.如果要是 提交了以后,可以使用 git revert

还原已经提交的修改此次操作之前和之后的commit和history都会保留,并且把这次撤销作为一次最新的提交git revert HEAD 撤销前一次 commitgit revert HEAD^ 撤销前前一次 commitgit revert commit-id (撤销指定的版本,撤销也会作为一次提交进行保存)git revert是提交一个新的版本,将需要revert的版本的内容再反向修改回去,版本会递增,不影响之前提交的内容。

fatal: Unable to create ‘XXX/.git/index.lock’: File exists.的解决办法

4.标记解决冲突

内容冲突的解决办法发现冲突一般来讲,出现冲突时都会有“CONFLICT”字样:$ git pullAuto-mergingtest.txtCONFLICT (content):Merge conflictintest.txtAutomatic merge failed; fix conflictsandthencommit the result.但是,也有例外,repo sync的报错,可能并不是直接提示冲突,而是下面这样:error:project mini/sample注:无论是否存在冲突,只要本地修改不是基于服务器最新的,它都可能报告这个错误,解决方法都是一样。这个时候,需要进入报错的项目(git库)目录,然后执行git rebase解决:git rebase remote-branch-name冲突解决的一般过程merge/patch的冲突解决先编辑冲突,然后git commit提交。注:对于git来讲,编辑冲突跟平时的修改代码没什么差异。修改完成后,都是要把修改添加到缓存,然后commit。rebase的冲突解决rebase的冲突解决过程,就是解决每个应用补丁冲突的过程。解决完一个补丁应用的冲突后,执行下面命令标记冲突已解决(也就是把修改内容加入缓存):git add-u注:-u 表示把所有已track的文件的新的修改加入缓存,但不加入新的文件。然后执行下面命令继续rebase:git rebase–continue有冲突继续解决,重复这这些步骤,直到rebase完成。如果中间遇到某个补丁不需要应用,可以用下面命令忽略:git rebase–skip如果想回到rebase执行之前的状态,可以执行:git rebase–abort注:rebase之后,不需要执行commit,也不存在新的修改需要提交,都是git自动完成。编辑冲突的方法直接编辑冲突文件冲突产生后,文件系统中冲突了的文件(这里是test.txt)里面的内容会显示为类似下面这样:a123<<<<<<<HEADb789=======b45678910>>>>>>>6853e5ff961e684d3a6c02d4d06183b5ff330dccc其中:冲突标记<<<<<<< (7个<)与=======之间的内容是我的修改,=======与>>>>>>>之间的内容是别人的修改。此时,还没有任何其它垃圾文件产生。最简单的编辑冲突的办法,就是直接编辑冲突了的文件(test.txt),把冲突标记删掉,把冲突解决正确。

其他帮助查看:http://blog.jobbole.com/87700/

你在会议中吵架时,尼泊尔的背包客一起端起酒杯坐在火堆旁。

github常见问题【转自百度知道】

相关文章:

你感兴趣的文章:

标签云: