设置用户

git config --global user.name "xxx"
git config --global user.email "xxx.com@gmail.com"
注:如果传递了 --global 选项,Git将总是会使用该信息来处理在系统中所做的一切操作。如果希望在一个特定的项目中使用不同的名称或e-mail地址,可以去除--global。

检查配置

git config --list

获取项目

git clone http://git.xxx.net/xxx/git-start.git

add commit push一次完成

git add . && git commit -m '提交说明' && git push

开始工作前:

git pull origin master
git fetch origin
git rebase origin/master

从分支dev上更新本地的代码

git pull origin dev:master

查看当前仓库状态。会提示那些文件发生修改,哪些内容需要add&commit。

git status



切换到自己分支(每次新功能开发建议都新建分支,切入后在进行code)

git checkout test
git add .
git commit -m "说明"
git checkout master
git push origin test

丢弃本次代码修改,必须有--,没有就是检出

git checkout -- xxx.php

已经使用了git add缓存了代码

git reset HEAD xxx.php //不指定文件,则为取消所有add文件

已经用git commit提交了代码

git reset --hard HEAD^ //回退到上一次commit的状态
git reset --hard commitid //回退到任意版本

查看所有分支

git branch --all
//默认只有master分支,所以会看到如下两个分支master[本地主分支] origin/master[远程主分支]
//新克隆下来的代码默认master和origin/master是关联的,也就是他们的代码保持同步

创建本地分支

git branch dev
git branch //查看分支
//这是会看到master和dev,而且master上会有一个星号。这个时候dev是一个本地分支,远程仓库不知道它的存在,本地分支可以不同步到远程仓库,我们可以在dev开发,然后merge到master,使用master同步代码,当然也可以同步

合并分支到主分支

git checkout master //切换到主分支
git merge dev //把dev分支的更改和master合并

删除远程分支

git push origin --delete test

移除文件

git rm xx.php
git rm log/\*.log //删除log目录下扩展名为 .log 的所有文件
git rm \*~ //删除以 ~ 结尾的所有文件

移动文件

git mv file_from file_to
//Git 并不显式跟踪文件移动操作,所以以改名的方式进行,相当于以下:
mv README.md README
git rm README.md
git add README

查看历史记录

git log
git log -p //用来显示每次提交的内容差异。P=1,2...

commit补充

git commit -m '说明'
git add forgotten_file //被遗忘的提交
git commit --amend //最终你只会有一个提交,第二次提交将代替第一次提交的结果。

取消暂存的文件

git reset HEAD


我是鑫,欢迎来到我的小窝做客。
话不多,待人有礼,希望和你也能成为朋友~