1.git 提交出现这个错误fatal: Unable to create ‘project_path/.git/index.lock’: File exists. exists
解决办法
打开git Bash 进入项目目录 输入rm -f ./.git/index.lock 再回到AS就可添加了
on Windows
del .git\index.lock
2.使用git 添加远程github仓库的时候提示错误:fatal: remote origin already exists.
到解决办法如下:
1、先删除远程 Git 仓库
$ git remote rm origin
2、再添加远程 Git 仓库
$ git remote add origin git@github.com:FBing/java-code-generator
如果执行 git remote rm origin 报错的话,我们可以手动修改gitconfig文件的内容
$ vi .git/config
把 [remote “origin”] 那一行删掉就好了。
3. non-fast-forward
$ git push -u origin master
To git@github.com:******/Demo.git
! [rejected]master -> master (non-fast-forward)
error: failed to push some refs to 'git@github.com:******/Demo.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Merge the remote changes (e.g. 'git pull')
hint: before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
网上搜索了下,是因为远程repository和我本地的repository冲突导致的,而我在创建版本库后,在github的版本库页面点击了创建README.md文件的按钮创建了说明文档,但是却没有pull到本地。这样就产生了版本冲突的问题。
有如下几种解决方法:
1.使用强制push的方法:
$ git push -u origin master -f
这样会使远程修改丢失,一般是不可取的,尤其是多人协作开发的时候。
2.push前先将远程repository修改pull下来
$git pull origin master
$ git push -u origin master
3.若不想merge远程和本地修改,可以先创建新的分支:
$git branch [name]
然后push
$git push -u origin [name]
4,git常用命令
1. git 配置:
git config--globaluser.name"xxx"--配置用户名,上传本地 repository 到服务器上的时候,在 Github 上会显示这里配置的上传者信息
git config--globaluser.email"xxx"--配置邮箱
git config--list 查看配置列表
配置 sshkey : 上传代码时使用这个 sshkey 来确认是否有上传权限
1). 创建本地 ssh :
cd ~/.ssh
ssh-keygen -t rsa -C"Github 的注册邮箱"2). 在 Github 中添加这个 sshkey :
复制 /home/bruceking90/.ssh/id_rsa.pub 文件中的内容;
登录 Github--> Account Setting --> SSH-KEY --> Add SSH-KEY -->粘贴id_rsa.pub中的内容;3). 验证: ssh -T git@github.com
出现 Hi xxx! You've successfully authenticated, but GitHub does not provide shell access. 说明配置成功,可以连接上 Github
2. 建立仓库 repository :
git init here--创建本地仓库
git remote add origin git@github.com:用户名/仓库名.git--把本地仓库和远程仓库关联起来, 如果不执行这个命令的话,每次 push 的时候都需要指定远程服务器的地址
3. 从远程仓库中下载新的改动:
git pull origin master4. 提交本地修改到远程仓库中:
git add
git add-A --将改动添加到本地仓库中
git rm xxx--从本地仓库中删除指定文件
git rm-r xxx --从本地仓库中删除指定文件夹
git commit-m"注释"--把本机缓存中的内容提交到本机的 HEAD 里面
git push origin master--把本地的 commit push 到远程仓库中
(注释:如果出现推送错误,可以强制性推送git push origin +master或者先git pull,然后再操作库)
如果有permission deneied,尝试: ssh -i ~/.ssh/id_rsa -vT git@github.com ssh-agent ssh-add ~/.ssh/id_rsa
Git 常用命令
git init--创建本地仓库(repository),将会在文件夹下创建一个 .git 文件夹,.git 文件夹里存储了所有的版本信息、标记等内容
git remote add origingit@github.com:用户名/仓库名.git--把本地仓库和远程仓库关联起来。如果不执行这个命令的话,每次 push 的时候都需要指定远程服务器的地址
git add--从本地仓库增删,结果将会保存到本机的缓存里面
git rm
git commit-m"注释"--提交,把本机缓存中的内容提交到本机的 HEAD 里面
git push origin master-- 把本地的 commit(提交) push 到远程服务器上, origin 也就是之前 git remote add origin 那个命令里面的 origin,origin 替代了服务器仓库地址:git pushgit@github.com:用户名/仓库名.gitgit pull origin master--从远程服务器 pull 新的改动
git status--查看状态
git add-A --提交全部修改
git clone
使用 git clone 拷贝一个 Git 仓库到本地,让自己能够查看该项目,或者进行修改。
如果你需要与他人合作一个项目,或者想要复制一个项目,看看代码,你就可以克隆那个项目。 执行命令:
git clone [url]
yuleyouxi
yuleyouxi
那说明你有修改过的文件
git提交报错:Counting objects: 198, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (109/109), done.
Writing objects: 100% (137/137), 405.67 KiB, done.
Total 137 (delta 74), reused 0 (delta 0)
remote: W refs/heads/intg/dev scm/p400_system hongyang.song DENIED by fallthru
remote: error: hook declined to update refs/heads/intg/dev
To git@10.114.110.37:scm/p400_system.git
! [remote rejected] intg/dev -> intg/dev (hook declined)
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'git@10.114.110.37:scm/p400_system.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again. See the
'Note about fast-forwards' section of 'git push --help' for details.
git stash
git pull --rebase (每次push之前最好这样做一次)
git push ....
之后用git stash pop stash@{0}回复你之前修改的文件就