目录

git简介


基础设置

配置用户名,邮箱
[user]
      email = luxfang@1v.cn
      name = fangqiang
这个配置可以写在 ~/.gitconfig中或者.git/config中
查看设置
git config --list

git 帮助

git (列出所有命令)
git command -xyz (每个命令的用法,给出一个错误的参数时git会自动提示正确的语法格式)

忽略某些文件

在工作区中创建一个.gitignore文件。要忽略的文件写入.gitignore即可。

更新提交

修改提交信息
git commit --amend

提交之前漏了一些操作(如:一个文件忘了修改)
echo "add more" >> file
git add file
git commit --amend

撤销修改

git add 之前   
    git checkout HEAD filename(还可以检出任意版本的某个文件)
git add 之后 commit之前
    git reset HEAD filename
git commit之后 (回到上一次提交的状态,不保留上一次提交到现在做的修改)
    git reset --hard HEAD^
git commit之后 (回到上一次提交的状态,保留上一次提交到现在做的修改)
    git reset --soft HEAD^

删除文件

从暂存区中删除,工作区中文件不删除
    git rm --cache filename 
从暂存区中删除,工作区中文件也删除
    git rm filename

git fetch

将所远程仓库中所有分支下载到本地
    git fetch origin 
检出分支
    git checkout -b master origin/master 
    如果本地的分支名与远程分支名相同,可省略为如下写法
    git checkout master

git pull

git pull origin 
将远程仓库中所有分支下载到本地,并自动为当前分支做merge操作
(如果有分支bra1和bra2。而当前分支是bra1,则git pull相当于git fetch之后自动为你执行git merge origin/bra1)

<note important>git fetch 和git pull不同的就是,git fetch不会自动将你的当前分支合并</note>


分支操作

添加分支
    git branch branch_name
删除分支
    git branch -d branch _name
分支重命名
    git branch -m old_branch new_branch

merge,rebase

初始状态 git merge bra1之后 git rebase bra1之后


查看命令

git status  查看状态
git log  查看日志
git branch  查看分支
git remote   查看远程仓库
git show  HEAD^:filename    查看其他其他版本的某个文件 : 

其他

移动文件
git mv filename1 filename2
添加远程分支
git remote add bra_namr url
推送到特定分支
git push origin local_branch:reomte_branch
创建标签
git tag tag_name
在克隆仓库时,Git 通常会自动创建一个名为 master 的分支来跟踪 origin/master