以下只是个人在工作上对git的使用记录
克隆项目
git clone
查看分支
查看本地分支:git branch
查看远程分支:git branch -r
查看所有分支:git branch -a
切换远程分支
git checkout -b myRelease origin/Release
**作用是checkout远程的Release分支,在本地起名为myRelease分支,并切换到本地的myRelase分支**
上传代码步骤
1. 查看当前修改内容:git status
2. 添加到缓存区:git add .
3. 添加到仓库:git commit -m "注释"
4. 拉去最新代码(有冲突需要解决冲突):git pull
5. 上传到远程仓库:git push
解决冲突
如果希望服务器上版本完全覆盖本地修改,使用如下命令回退并更新:
git reset --hard
git pull
**在idea上使用git插件合并yours的代码**
都是有用的信息,希望都要
命令行解决思路:
git pull 出现冲突后可以暂存本地修改git stash ,然后git pull 更新代码,git stash list 可查看暂存记录列表,释放本地暂存 git stash apply stash@{0} ,出现冲突文件,找到并解决,然后可以提交git add . 加入索引库,然后本地提交git commit -m '注释' 最后git push到远程
1. git stash 暂存本地代码
2. git stash list 查看当前git栈的信息
3. git pull 拉取代码
4. git stash pop stash@{0} 还原暂存代码
5. 打开冲突文件
Updated upstream 和=====之间的内容就是pull下来的内容
====和stashed changes之间的内容就是本地修改的内容
6. 手动解决冲突,git无法帮你合并
7. git stash drop stash@{0} 删除stash
8. git stash clear
9. 现在可以正常的上传
idea解决思路
当在idea使用git插件push或pull时,如果遇到冲突idea会提示我们,会出现Files Merged with Conflicts对话框,这时候可以点进去查看冲突的文件、冲突的位置。
点击Merge按钮,然后出现三个代码比对窗口,一个是本地您修改的代码,一个是Romote远程git服务器上的代码,中间的Result是合并之后的结果代码
找到代码冲突的地方,可以选择点击X或》符合对本地或服务器的代码进行删除或添加到结果代码中
然后重新commit和push便可
在idea中更新代码的时候,默认会在有代码冲突的时候,将代码暂存到Stash中,这样就算在解决冲突的时候没有处理好,不用担心本地代码的丢失,可以通过如图的方式打开UnStash Changes列表
如图这个页面,可以看到本地未提交的代码被放在了一个栈中存起来了
点击View按钮可以查看当前的Stash里面文件的详情,同样也可以对文件进行比对。如果本地代码在解决冲突的时候丢失了,可以选择stash然后点击Apply Stash进行恢复。
对于不需要的stash可以从列表中Drop掉
回退历史
1. 查看提交历史:git log 或者 git log –pretty=oneline
2. 回退版本:上一个版本:git reset –hard HEAD^ ;上上个版本:git reset –hard HEAD^^;上第一百个版本:git reset –hard HEAD~100
3. 回到最新版本:
获得版本号:git reflog
根据版本号回去:git reset –hard f676eae
idea回退版本
查看提交历史
右键点击项目:
查看版本号
接下来便是在命令行操作了
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。