git操作记录

新项目拉取修改提交

1、客户端安装后,切换至要上传代码的目录 git base here
2、拉取代码:输入git clone XXXX(仓库地址)
3、初始化仓库:git init
4、添加README:git add README.md
5、添加文件:add :git add .
6、添加描述:commit: git commit -m “init”
7、本地仓库与远端仓库建立连接:git remote add origin XXXX(仓库地址)
8、初始化推送: git push -u origin master
9、提交主分支:git push origin master

合并分支

1、正常提交合并
git checkout master #切换回到主分支
git merge #合并分支到主分支

2、merge时出现问题,对多个commit进行合并

  • git rebase -i HEAD~5
    (代表对最近5个版本进行合并,合并到第一次提交commit的代码上面
    第一行(即第一次commit版本)选择pickup,其他行选择f即可,就可以将最新的版本合并到第一次的版本上面。(合并的目的就是将最新的代码合并到第一次commit的版本上面去,所以保留的是第一个版本的代码)第一版本选择pickup,其他的版本选择f,即可在进行合并的时候,会说confict冲突,此时保存对的代码,将HEAD和=====这种标志删除即可。
  • git add *** ,git rebase --continue
    删除
    git rebase --abort #终止rebase,回到原来最新的commit

回退分支Git Reset

git reset HEAD~1

其他git操作指令

  • git remote add origin xxx(仓库地址) //将xxx命名为origin
  • git branch #查看分支
  • git checkout -b #创建分支并切换到分支目录 -build
  • git add #以分支的身份提交文件到暂存区
  • git push origin #提交分支
  • git checkout -d #删除分支 -delete
  • git branch -d #删除分支 -delete
  • git config --global -l 查看git配置
  • env|grep -i proxy 取消设置环境变量
  • git config --global --unset http.proxy 取消http代理
  • git config --global --unset https.proxy 取消https代理

删除远程分支文件

git rm * -f -r#删除所有文件夹包括文件
git add .
git commit -m "***" #增加提交信息
git push origin master#master是远程分支

本地分支test1,test2。从test2的代码中合并到test1

#1.查看当前分支
git branch
当前分支为test1

#2.切换test2
git checkout test2

#3.拉取最新test2的代码
git pull origin test2

#4.切换到分支
git checkout test1

#5.test1合并test2
git merge origin/test2

#6
git push

问题记录

1、git提交代码时出现错误fatal: Unable to create '项目路径/.git/index.lock': File exists.
原因:在commit的时候,git会自动创建一个index.lock文件,操作完成后就会自动删除。但是如果在commit的时候出现误操作或者意外,那么就会导致这个文件不会自动删除,必须手动把这个文件删除
解决方法:在当前项目下打开git bash,运行如下命令:
rm -f ./.Git/index.lock

2、fatal: repository 'https://xxx/xxx.git/' not found
原因:repository地址被更改
解决方法:须修改本地git仓库指向的远程仓库地址
git remote set-url origin https://xxx@xxx/xxx/new_directory.git(远程仓库修改后的地址)
改完后看链接:git remote -v

3、Cant’t Update (No tracked branch configured for branch master or the branch doesn’t exist.)
原因:没有配置 master 分支的跟踪分支,或者这个 master 分支不存在
解决方法:让本地分支跟踪远程分支
git branch --set-upstream-to origin
git branch --set-upstream-to origin/master

4、git clone出现 fatal: unable to access 'https://github.com/...'
原因:因为代理是在git中配置的。既然它是https代理(而不是http)git config http.proxy和git config --global http.proxy也无济于事。
解决方案:取消设置环境变量
env|grep -i proxy
再次检查环境变量
env|grep -i proxy,没有出现内容证明生效了

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1.为什么要写这个文档 本文是结合项目中使用git的经验并参考《Git权威指南.pdf》总结出来的。《Git权威指南.pdf》全强大很细,但有些东西太广太细,不适合快速上手。本文档适合在项目实践中想快速上手git的新手。先看本文档基本上手,在实际使用中遇到什么问题在深入研究《Git权威指南.pdf》或者google,这种学习规划的效率应该是最好的。欢迎更正和补充。 2.GIT和SVN、CVS的区别 版本库分两种 集中式版本库:CVS和SVN 分布式版本库:GIT轻量级,高性能 集中式版本库的缺点:代码集中放在一台服务器上,必须有网络才能连接服务器。 GIT的最大优势:每个人都会在本地有自己的版本库,而不是连到服务器公共的版本库。所有的历史记录都会存储在本地版本库中,向版本库提交代码无需连接远程版本库,而是记录在本地版本库中。 用git push可以把修改上传到远程的主版本库中。 其实SVN的本地历史比较也就相当于本地版本库,只是功能没有那么强大,只能比较单个文件的本地历史记录。 在SVN中版本库在服2.3.务器上,在GIT中,版本库不在服务器上,而在本地workspace中的.git目录中。 3.为什么要使用git 本次项目的版本库主要在本地修改,但也可能在其他地区进行merge等操作,所以用分布式版本管理工具git。 (基于项目版本管理经验修改,如果意见,请指正,谢谢!)

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值