git 简单教程更新

0.初始化

$ git config --global user.name "xxx"
$ git config --global user.email "xxx@gmail.com"
$ ssh-keygen -t rsa -C “xxx@gmail.com”

按3个回车,密码为空。
最后得到了两个文件:id_rsa和id_rsa.pub
把pub文件粘到你的git里

0.1 本地初始化代码仓库

假设我的代码目录在D:\0-LBS-workspace\Quant,里面有不少文件。
启动git shell,到D:\0-LBS-workspace\Quant目录里,执行git int
到code京东创建自己的代码库 git@code.jd.com:username/测试先从本地创建推送上来.git
git remote add origin git@code.jd.com:username/测试先从本地创建推送上来.git
回到自己的电脑

git pull origin master
添加几个文件 git add file.py
git commit -m '第一次提交'
git push origin master
编辑一下 file.py
git add file.py
git commit -m 'modify'
git push origin master
把修改的也推送上去

0.2 克隆线上代码到本地

git clone git@code.jd.com:kayv/网络创建在拉到本地.git
会在当前目录下创建 “网络创建在拉本地”
创建个文件随便写点什么
git add teat.txt
git commit -m 'dd'
git push origin master
OK

gitignore 生效

git rm -r --cached .
git add .
git commit -m ".gitignore is now working"
  • 附常用命令
    HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭 git reset --hard commit_id 或git reset --hard HEAD(HEAD^等等)

  • 配置使用git仓库的人员姓名
    git config --global user.name "Your Name Comes Here"

  • 配置使用git仓库的人员email
    git config --global user.email you@yourdomain.example.com

  • 配置到缓存 默认15分钟
    git config --global credential.helper cache

  • 修改缓存时间
    git config --global credential.helper 'cache --timeout=3600'
    git config --global color.ui true
    git config --global alias.co checkout
    git config --global alias.ci commit
    git config --global alias.st status
    git config --global alias.br branch
    git config --global core.editor "mate -w" # 设置Editor使用textmate
    git config -1 #列举所有配置

  • 用户的git配置文件~/.gitconfig

git help # 显示command的help
git show # 显示某次提交的内容
git show $id

git co -- # 抛弃工作区修改
git co . # 抛弃工作区修改

git add # 将工作文件修改提交到本地暂存区
git add . # 将所有修改过的工作文件提交暂存区

git rm # 从版本库中删除文件
git rm --cached # 从版本库中删除文件,但不删除文件

git reset # 从暂存区恢复到工作文件
git reset -- . # 从暂存区恢复到工作文件
git reset --hard # 恢复最近一次提交过的状态,即放弃上次提交后的所有本次修改

git ci
git ci .
git ci -a # 将git add, git rm和git ci等操作都合并在一起做
git ci -am "some comments"
git ci --amend # 修改最后一次提交记录

git revert <$id> # 恢复某次提交的状态,恢复动作本身也创建了一次提交对象
git revert HEAD # 恢复最后一次提交的状态

git log
git log # 查看该文件每次提交记录
git log -p # 查看每次详细修改内容的diff
git log -p -2 # 查看最近两次详细修改内容的diff
git log --stat #查看提交统计信息

  • 初始化一个版本仓库
    git init

  • Clone远程版本库
    git clone git@xbc.me:wordpress.git

  • 添加远程版本库origin,语法为 git remote add [shortname] [url]
    git remote add origin git@xbc.me:wordpress.git

  • 查看远程仓库
    git remote -v

  • 添加当前修改的文件到暂存区
    git add .

  • 如果你自动追踪文件,包括你已经手动删除的,状态为Deleted的文件
    git add -u

  • 提交你的修改
    git commit –m "你的注释"

  • 推送你的更新到远程服务器,语法为 git push [远程名] [本地分支]:[远程分支]
    git push origin master

  • 查看文件状态
    git status

  • 跟踪新文件
    git add readme.txt

  • 从当前跟踪列表移除文件,并完全删除
    git rm readme.txt

  • 仅在暂存区删除,保留文件在当前目录,不再跟踪
    git rm –cached readme.txt

  • 重命名文件
    git mv reademe.txt readme

  • 查看提交的历史记录
    git log

  • 修改最后一次提交注释的,利用–amend参数
    git commit --amend

  • 忘记提交某些修改,下面的三条命令只会得到一个提交。
    git commit –m "add readme.txt"
    git add readme_forgotten
    git commit –amend

  • 假设你已经使用git add .,将修改过的文件a、b加到暂存区

  • 现在你只想提交a文件,不想提交b文件,应该这样
    git reset HEAD b

  • 取消对文件的修改
    git checkout –- readme.txt
    git add -A stages All
    git add . stages new and modified, without deleted
    git add -u stages modified and deleted, without new

posted @ 2016-05-29 13:06  kayv  阅读(323)  评论(0编辑  收藏  举报