一本码簿

众里寻码千百度,那段却在github处。

0%

git

生成密钥

ssh-keygen -t rsa -C “username@email.com

添加本地仓库到github

  1. git init
  2. git remote add origin git@github.com:bxxfighting/NowToDo.git
  3. git branch -u origin/master
  4. git pull

创建git使用步骤

  1. 生成ssh key: git bash下运行 ssh-keygen -t rsa -C”username”,然后三个回车,密码为空,上传用户文件夹下的公钥 id_rsa.pub 到服务器
  2. 配置全局用户名 git config –global user.name “hai”、email git config –global user.email “username@email.com
  3. 配置cr、crlf转换 git config –global core.autocrlf input
  4. 配置safecrlf转换 git config –global core.safecrlf true
  5. 下载代码 git clone git@l.zjchey.com:code/NjqWeb.git
  6. 创建并切换分支 git checkout -b dev
  7. 建立当前本地分支dev和远程dev分支track git branch -u origin/dev
  8. 获取代码 git pull(相当向下箭头),提交代码 git add. git commit -m “message” git push(相当在vcs右键 commit changes)

git分支

  1. 创建分支 git branch < branch_name >,切换分支 git checkout < branch_name >,创建并切换分支 git checkout -b < branch_name >
  2. 显示本地分支 git branch,显示远程分支 git branch -r,显示本地和远程分支 git branch -a
  3. 获取远程分支 git pull origin < branch_name > 或者 git pull
  4. 推送到远程分支,git push origin < local_branch_name >:< remote_branch_name >,若本地分支和远程分支tracked,可简写为 git push,若 < local_branch_name > 为空,则删除远程分支
  5. 获取远程新分支 git checkout -b < local-branchname > origin/ < remote_branchname>
  6. 删除本地分支 git branch -d < branch_name >,删除远程分支 git branch -d -r orign/< branch_name >
  7. 合并分支 git merge < branch_name >
  8. 建立当前本地分支dev和远程dev分支track git branch -u origin/dev,新建和远程dev分支tracked的本地分支 git branch –track dev origin/dev
  9. 查看本地分支和远程分支是否tracked git branch -vv
  10. 分支重命名 git branch -m oldbranch newbranch

git撤销

  1. 撤销add git checkout – filefullname
  2. 撤销commit git reset HEAD filefullname
    • git reset –mixed:此为默认方式,不带任何参数的git reset,即时这种方式,它回退到某个版本,只保留源码,回退commit和index信息
    • git reset –soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可
    • git reset –hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容

git区图解

git其他命令

  1. 创建裸库: git init --bare NjqWeb.git
  2. 查看本地设置 git config –list
  3. work和index的比较 git diff,index和repository比较 git diff –staged,work和repository比较 git diff HEAD
  4. git status中文被转义 git config –global core.quotePATH false
  5. master分支仅发布不干活,dev分支仅干活不发布

git多远程仓库

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[remote "origin"]
url = git@l.zjchey.com:haies.github.io
url = git@git.oschina.net:haies/blog.git
url = git@git.coding.net:haies/blog.git
url = git@code.aliyun.com:haies/blog.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master