Git使用个人总结

git个人总结

使用小结

1.Eclipse git插件配置秘钥.解决方式: window → preference → general → network connection → SSH2 配置已有ppk
2..gitignore文件中添加文件路径即可忽略,提交时不再出现已配置的路径文件
3.冲突时,先编辑冲突,再commit&push,冲突代码已经更新到代码里时,会出现下图
这里写图片描述
4.分支的操作,来自(https://blog.zengrong.net/post/1746.html)
4.1查看远程分支:加上-a参数可以查看远程分支,远程分支会用红色表示出来(如果你开了颜色支持的话),eg,以下代码

$ git branch -a
 master
 remote/origin/master
 remote/origin/publish

4.2删除远程分支和tag
git push –delete origin branchname
git push –delete origin tag tagname
推送一个空分支/tag到远程(效果一致)
git push origin :refs/tags/标签名
git push origin :branchName

4.3删除不存在对应远程分支的本地分支,假设这样一种情况:
a我创建了本地分支b1并pull到远程分支 origin/b1;
b其他人在本地使用fetch或pull创建了本地的b1分支;
c我删除了 origin/b1 远程分支;
d其他人再次执行fetch或者pull并不会删除这个他们本地的 b1 分支,运行 git branch -a 也不能看出这个branch被删除了,如何处理?
使用下面的代码查看b1的状态:
$ git remote show origin
* remote origin
Fetch URL: [email protected]:xxx/xxx.git
Push URL: [email protected]:xxx/xxx.git
HEAD branch: master
Remote branches:
master tracked
refs/remotes/origin/b1 stale (use ‘git remote prune’ to remove)
Local branch configured for ‘git pull’:
master merges with remote master
Local ref configured for ‘git push’:
master pushes to master (up to date)
这时候能够看到b1是stale的,使用 git remote prune origin 可以将其从本地版本库中去除。
更简单的方法是使用这个命令,它在fetch之后删除掉没有与远程分支对应的本地分支:git fetch -p
4.4重命名远程分支:在git中重命名远程分支,其实就是先删除远程分支,然后重命名本地分支,再重新提交一个远程分支。
重命名本地分支:git branch -m devel develop
推送本地分支: git push origin develop
如果本地分支的名字和远端分支名字不一样,就需要显式指定了
当前处于要推送的分支上
git push remoteName HEAD:RemoteBranchName
当前不处于要推送的分支上git push remoteName localBranchName:RemoteBranchName
4.5把本地tag推送到远程:git push并不会把tag标签传送到远端服务器上,只有通过显式命令才能分享标签到远端仓库。
a.push单个tag,命令格式为:git push origin [tagname]
例如:
git push origin v1.0 #将本地v1.0的tag推送到远端服务器
b.push所有tag,命令格式为:git push [origin] –tags
例如:
git push –tags

git push origin –tags
git push –tags
获取远程taggit fetch origin tag tagname


遇到的问题点(报错内容,解决方式)

1.和svn习惯不同,已经提交的代码文件看不到,推送到远程的代码有哪些
a.在idea中,push是会显示有哪些commit将要push
b.使用命令模式使用git,git status会提示出哪些文件被提交,哪些文件未提交

2.error: Ref refs/remotes/origin/master is at d745d0b93ca27cd0c946d8435a75ba722cf228fd but expected 6d8966197b720818a64af0c6d4b6ae34bca76288
! 6d89661..17764f6 master -> origin/master (unable to update local ref)
解决方法:
从object数据库中删除所有不可达的object:
git gc –prune=now
git remote prune origin
来自(https://www.libaocai.com/6458.html#0-tsina-1-44436-397232819ff9a47a7b7e80a40613cfe1)

你可能感兴趣的:(git)