4

以下只是个人在工作上对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对话框,这时候可以点进去查看冲突的文件、冲突的位置。

clipboard.png

点击Merge按钮,然后出现三个代码比对窗口,一个是本地您修改的代码,一个是Romote远程git服务器上的代码,中间的Result是合并之后的结果代码
找到代码冲突的地方,可以选择点击X或》符合对本地或服务器的代码进行删除或添加到结果代码中

clipboard.png

然后重新commit和push便可

在idea中更新代码的时候,默认会在有代码冲突的时候,将代码暂存到Stash中,这样就算在解决冲突的时候没有处理好,不用担心本地代码的丢失,可以通过如图的方式打开UnStash Changes列表

clipboard.png

如图这个页面,可以看到本地未提交的代码被放在了一个栈中存起来了

clipboard.png

点击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回退版本

查看提交历史

 右键点击项目:

clipboard.png

查看版本号

clipboard.png
接下来便是在命令行操作了

常用命令

图片描述


liudenny
39 声望4 粉丝

小小程序员,大大的梦想