Git(Mac)

来源:互联网 发布:淘宝美工图片后期处理 编辑:程序博客网 时间:2024/06/11 04:38

Git(Mac)


git status 查看项目状态  git add -A 将所有修改的文件放到git的暂存区  git commit 将暂存区的所有内容提交到当前分支  git commit -m “message” 提交的时候提交的修改信息message  git pull  把远程分支的修改拉取到本地,保持本地和远程版本的一致  git push 把commit推送到远程  git checkout refactor 切分支???  git clone git@gitlab.corp.qunar.com:mini_program/info_service.git -b release  一般团队开发:要在分支进行 git checkout -b dev这个命令加上 -b 参数表示创建并切换相当于git branch devgit checkout devgit branch 查看当前分支 

本地文件推到github上

  1. 在该文件夹中 git init
  2. git add -A
  3. git commit -m “first commit”
  4. 添加远程库git remote add origin git@github.com:Isbutton/webpack-demo.git
  5. push并合并两个库 git push -u origin master

    注意:

    • 和别人合作的时候要多commit多push,如果修改了很多内容再push,出了问题的话不好解决。
    • 每次push之前一定要先pull。

常见问题记录FAQ

一. git pull代码的时候报如下错:

error: Your local changes to the following files would be overwritten by merge:Please, commit your changes or stash them before you can merge.  

这表示更新下来的内容和本地修改的内容有冲突,先提交你的改变或者先将本地修改暂时存储起来
解决方法:先将本地内容存储起来,运行命令:git stash
再git pull 即可

二. git pull的时候报如下错:

fatal: No remote repository specified. Please, specify either a URL or aremote name from which new revisions should be fetched.

问题:打开的路径不对
解决方法:打开本次仓库的正确路径,在更新代码

三. git status时有冲突

On branch refactorYour branch and 'origin/refactor' have diverged,and have 1 and 1 different commits each, respectively.(use "git pull" to merge the remote branch into yours)You have unmerged paths. (fix conflicts and run "git commit")(use "git merge --abort" to abort the merge)Changes to be committed:modified:   public/scss/index.scssUnmerged paths: (use "git add <file>..." to mark resolution)both modified:   public/styles/index.css

可以把css删掉,用gulp重构一次再git add -A就可以了

四.不小心把文件夹变成仓库了,把.git删掉

sudo rm -rf .git/

五.clone的时候 如果没有master 就必须clone支线

git clone git@gitlab.corp.qunar.com:mini_program/info_service.git -b release

六.在 git pull后 警告Please commit your changes or stash them before you merge.

  1. 先 git stash. (git stash list 可以看到暂存的信息 stash@{0}为保存的标记)
  2. git pull
  3. git stash pop stash@{0} 还原暂存的内容
    Auto-merging c/environ.c
    CONFLICT (content): Merge conflict in c/environ.c
    意思就是系统自动合并修改的内容,但是其中有冲突,需要解决其中的冲突。
  4. 解决文件中冲突的部分

  去删除冲突部分不需要的,再提交
5. 删除stash git stash drop <stash@{id}>
如果不加stash编号,默认的就是删除最新的,也就是编号为0的那个,加编号就是删除指定编号的stash。git stash clear是清除所有stash,整个世界一下子清净了!
6. git stash popgit stash apply <stash@{id}>的区别。
当我使用git stash popgit stash apply几次以后,我发现stash list 好像比我预计的多了几个stash。
原来git stash pop stash@{id}命令会在执行后将对应的stash id 从stash list里删除,而git stash apply stash@{id}命令则会继续保存stash id。对于有点强迫症的我来说,是容不下越来越多的陈旧stash id 仍然存在的,所以我更习惯于用git stash pop命令。

七、git 创建分支提交远程分支

  1. 从已有的分支创建新的分支(如从master分支),创建一个dev分支
    git checkout -b dev
  2. 创建完可以查看一下,分支已经切换到dev
    git branch
     * dev
     master
  3. 提交该分支到远程仓库
    git push origin dev
  4. 测试从远程获取dev
    git pull origin dev
    或者:
    如果用命令行,运行 git fetch,可以将远程分支信息获取到本地,再运行 git checkout -b local-branchname origin/remote_branchname 就可以将远程分支映射到本地命名为local-branchname 的一分支
  5. 我觉得现在重要的就是设置git push,pull默认的提交获取分支,这样就很方便的使用git push 提交信息或git pull获取信息
    git branch --set-upstream-to=origin/dev
    取消对master的跟踪
    git branch --unset-upstream master
  6. 现在随便修改一下工程文件的内容,然后git commit ,git push,之后就可以直接提交到远程的dev分支中,而不会是master

八、删除本地未提交的更改

  1. git clean -df 只删除所有untracked的文件,如果文件已经被tracked, 修改过的文件不会被回退
  2. git reset --hard 只把tracked的文件revert到前一个版本,对于untracked的文件(比如编译的临时文件)都不会被删除
  3. git checkout .#本地所有修改的。没有提交的,都返回到原来的状态

git checkout恢复某个已修改的文件(撤销未提交的修改):git checkout file-name
例如:git checkout src/com/android/.../xxx.java
比如修改的都是java文件,不必一个个撤销,可以使用
git checkout *.java
撤销所有修改 git checkout .

九、Your branch and ‘origin/dev’ have diverged

To preserve your old commits on a temporary branch in case you need them:
git branch temp
Then switch to the new master
git fetch origin
git reset --hard origin/master

十、github对文件名的大小写不敏感

配置git使其对文件名大小写敏感
git config core.ignorecase false

十一、提交流程

git statusgc-a -m ‘’git pull   ———跳出填理由  shift+:  wq!git push

十二、回退版本,查看修改

git reset —hard 版本号(HEAD是一个指针,指向当前分支,所以上一个版本是HEAD^ , 往上一百个版本HEAD~100)git reset —hard HEAD^git log 看最近的提交和提交的描述git log -n 1  看最后一次的提交git log -n 1 —stat 看最后一次提交所有更改的文件git log -n 1 -p 最后一次提交的更改细节git show 显示最后一次commit修改的内容git show commit-id 显示指定commit修改的内容

十三、合并分支

在dev开发,开发完毕后回到master分支,并将dev分支的工作成果合并到master分支上git checkout master 切到master分支  git merge dev合并指定分支到当前分支  git branch -d dev删除dev分支
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 华为畅享6反应慢发热怎么办 华为畅享5S反应迟钝怎么办 华为畅玩5x玩王者荣耀卡怎么办 不小心把手机里的照片删了怎么办 u盘文件在手机上删了怎么办 荒野行动透视挂功能加载失败怎么办 白色t桖衫被奶茶弄脏了该怎么办 游戏文件不小心解压到c盘了怎么办 装系统时c盘0mb怎么办 电脑设置的开机密码忘了怎么办 电脑开机密码忘了怎么办xp系统 我的电脑在开机时忘了密码怎么办? xp桌面我的电脑图标不见了怎么办 游戏全屏时卡了无法退到界面怎么办 u盘插电脑上提示有病毒怎么办 三星手机文件怎么删除不掉怎么办 用夜神模拟器玩第五人格太卡怎么办 雷电模拟器玩刺激战场太卡了怎么办 绝地求生刺激战场模拟器太卡怎么办 ddj sb2打碟功能没了怎么办 驼背怎么办 要能快速矫正的方法 苹果7中间的home键坏了怎么办 苹果6p的home键不管用怎么办 华为获取数据失败请检查网络怎么办 三星手机未解锁刷机变砖怎么办 手机显示充电但是充不进去怎么办 手机拔出显示无法连接移动网怎么办 手机上的音乐老是显示网络忙怎么办 华为手机账号换手机忘记密码怎么办 墨墨背单词的注册邮箱忘了怎么办 华为手机华为账号密码忘记了怎么办 手机玩游戏降频特别厉害怎么办 苹果应用商店id登录老卡怎么办 苹果id忘记了自动续费怎么办 红米手机小米账号密码忘了怎么办 小米5splus没系统卡米怎么办 注册谷歌账号输入手机好怎么办 谷歌注册电话号码用了太多次怎么办 内存卡用了深度清理的软件怎么办 华为畅享5s密码忘了怎么办 小米5s进水了一直开机关机怎么办