git clone <版本库的网址>
git clone <版本库的网址> <本地目录名>
1. 查看用户名和邮箱地址:
$ git config user.name
$ git config user.email
2. 修改用户名和邮箱地址:
$ git config --global user.name "username"
$ git config --global user.email "email"
1、(先进入项目文件夹)通过命令 git init 把这个目录变成git可以管理的仓库
git init
2、把文件添加到版本库中,使用命令 git add .添加到暂存区里面去,不要忘记后面的小数点“.”,意为添加文件夹下的所有文件
git add .
3、用命令 git commit告诉Git,把文件提交到仓库。引号内为提交说明
git commit -m 'first commit'
4、关联到远程库
git remote add origin 你的远程库地址
如:
git remote add origin https://github.com/cade8800/ionic-demo.git
5、获取远程库与本地同步合并(如果远程库不为空必须做这一步,否则后面的提交会失败)
git pull --rebase origin master
6、把本地库的内容推送到远程,使用 git push命令,实际上是把当前分支master推送到远程。执行此命令后会要求输入用户名、密码,验证通过后即开始上传。
git push -u origin master
*、状态查询命令
git status
.gitignore 体检忽略内容
使用git pull代码时,经常会碰到有冲突的情况,提示如下信息:
error: Your local changes to 'c/environ.c' would be overwritten by merge. Aborting.
Please, commit your changes or stash them before you can merge.
这个意思是说更新下来的内容和本地修改的内容有冲突,先提交你的改变或者先将本地修改暂时存储起来。
处理的方式非常简单,主要是使用git stash命令进行处理,分成以下几个步骤进行处理。
1、先将本地修改存储起来
$ git stash
这样本地的所有修改就都被暂时存储起来 。是用git stash list可以看到保存的信息:
git stash暂存修改
其中stash@{0}就是刚才保存的标记。
2、pull内容
暂存了本地修改之后,就可以pull了。
$ git pull
3、还原暂存的内容
$ git stash pop stash@{0}
系统提示如下类似的信息:
Auto-merging c/environ.c
CONFLICT (content): Merge conflict in c/environ.c
意思就是系统自动合并修改的内容,但是其中有冲突,需要解决其中的冲突。
4、解决文件中冲突的的部分
打开冲突的文件,会看到类似如下的内容:
git冲突内容
其中Updated upstream 和=====之间的内容就是pull下来的内容,====和stashed changes之间的内容就是本地修改的内容。碰到这种情况,git也不知道哪行内容是需要的,所以要自行确定需要的内容。
解决完成之后,就可以正常的提交了。
Git status中文转义
git config --global core.quotepath false
在 git log 时中文依然不能显示,首先试试用 git --no-pager log 能不能显示中文,如果可以,则设置pager为more:
git config --global core.pager more
在git push的时候,有时候我们会想办法撤销git commit的内容
1、找到之前提交的git commit的id
git log
找到想要撤销的id
2、git reset –hard id
完成撤销,同时将代码恢复到前一commit_id 对应的版本
3、git reset id
完成Commit命令的撤销,但是不对代码修改进行撤销,可以直接通过git commit 重新提交对本地代码的修改
git fetch --all //只是下载代码到本地,不进行合并操作
git reset --hard origin/master //把HEAD指向最新下载的版本
12.1 GIT 操作规范:
1. 从主仓库Fork 一个自己的仓库
2. Git clone 自己名下的仓库, 就可以开发啦
3. 提交代码步骤:
○ 先 git commit 至本地(请在commit message 中尽量详细地描述本次提交修改的内容,至少说明是对哪一模块哪一功能的什么修改)
○ 再 push 至自己名下的仓库(完成后请登进个人仓库页面检查,确保push 成功)
○ 成功后提交 pull request, 将自己名下的仓库与主仓库合并(现阶段,提交完合并申请后请自己通过该申请,完成后检查一下主仓库,确保自己的最新代码已经成功合并至主仓库)
4. 冲突解决: Push 代码之前,先同步远程主仓库与本地代码,再push至自己名下的仓库(注意不能直接往主仓库push),具体操作方式如下:
○ git remote add upstream git@github.com:coreos/etcd.git //本地添加远程主分支(将 git@github.com:coreos/etcd.git 替换为主分支的地址),叫upstream。 可以先 git branch -v 查看是否已添加远程分支,若已添加,该步骤略过。
○ git fetch upstream // 获取主分支的最新修改到本地
○ git merge upstream/master // 将upstream分支修改内容merge到本地个人分支
git push // 将本地修改提交到fork出来的个人分支 至此,主分支修改的代码完全同步到fork出来的个人分支上,后续在个人分支上修改提交pull request时就不会冲突。完美
网友评论