git简单教材

时间:2021-10-19 13:00:20

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里

1)本地初始化代码仓库

假设我的代码目录在D:\0-LBS-workspace\Quant,里面有不少文件。

启动git shell,到D:\0-LBS-workspace\Quant目录里,执行git init

到code京东创建自己的代码库 git@code.jd.com:kayv/测试先从本地创建推送上来.git

git remote add origin git@code.jd.com:kayv/测试先从本地创建推送上来.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

把修改的也推送上去

2) 克隆线上代码到本地

git clone git@code.jd.com:kayv/网络创建在拉到本地.git

会在当前目录下创建 “网络创建在拉本地”

创建个文件随便写点什么

git add teat.txt

git commit -m 'dd'

git push origin master

OK

3)附常用命令

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> # 显示command的help
git show # 显示某次提交的内容
git show $id

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

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

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

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

git ci <file>
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 <file> # 查看该文件每次提交记录
git log -p <file> # 查看每次详细修改内容的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 &quot;add readme.txt&quot;
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