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上
- 在该文件夹中 git init
- git add -A
- git commit -m “first commit”
- 添加远程库git remote add origin git@github.com:Isbutton/webpack-demo.git
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.
- 先 git stash. (git stash list 可以看到暂存的信息 stash@{0}为保存的标记)
- git pull
git stash pop stash@{0}
还原暂存的内容Auto-merging c/environ.c
CONFLICT (content): Merge conflict in c/environ.c
意思就是系统自动合并修改的内容,但是其中有冲突,需要解决其中的冲突。- 解决文件中冲突的部分
去删除冲突部分不需要的,再提交
5. 删除stash git stash drop <stash@{id}>
如果不加stash编号,默认的就是删除最新的,也就是编号为0的那个,加编号就是删除指定编号的stash。git stash clear
是清除所有stash,整个世界一下子清净了!
6. git stash pop
与git stash apply <stash@{id}>
的区别。
当我使用git stash pop
和git 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 创建分支提交远程分支
- 从已有的分支创建新的分支(如从master分支),创建一个dev分支
git checkout -b dev
- 创建完可以查看一下,分支已经切换到dev
git branch
* dev
master - 提交该分支到远程仓库
git push origin dev
- 测试从远程获取dev
git pull origin dev
或者:
如果用命令行,运行git fetch
,可以将远程分支信息获取到本地,再运行git checkout -b local-branchname origin/remote_branchname
就可以将远程分支映射到本地命名为local-branchname 的一分支 - 我觉得现在重要的就是设置
git push
,pull默认的提交获取分支,这样就很方便的使用git push 提交信息或git pull获取信息git branch --set-upstream-to=origin/dev
取消对master的跟踪git branch --unset-upstream master
- 现在随便修改一下工程文件的内容,然后git commit ,git push,之后就可以直接提交到远程的dev分支中,而不会是master
八、删除本地未提交的更改
git clean -df
只删除所有untracked的文件,如果文件已经被tracked, 修改过的文件不会被回退git reset --hard
只把tracked的文件revert到前一个版本,对于untracked的文件(比如编译的临时文件)都不会被删除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分支
- Git(Mac)
- mac git
- Mac git 搭建配置学习(一)
- Mac下利用(xcode)安装git
- git的使用(Mac环境下)
- Git安装 Mac版(一)
- git mac安装及配置(一)
- git mac使用初体验(三)
- 初始化Git仓库(Mac环境下)
- [Git] Mac 上安装 Git
- Mac OSX安装Git
- Mac上安装Git
- mac .profile git 配置
- mac 下 Git 使用
- mac git auto-completion
- mac .profile git 配置
- Git For Mac
- Mac Git简单使用手册
- 多态性
- Silver Cow Party
- android引导用户开启自启动权限
- 循环
- HDU --- 6181 Two Paths 2017第十场多校签到题【裸次短路】
- Git(Mac)
- 洛谷 1101 单词方阵
- 共享内存相关函数
- Dom编程艺术第五章
- oracle安装后使用SQLPLUS命令创建表空间和修改用户默认表空间windows平台
- 认识AngularJS
- PHP环境搭建之PHPstorm9+PHP5开发环境配置
- OracleASM参数介绍
- 三种方法的优先级