logo

注册配置帐号

会得到一个全站唯一的用户名。
新建一个 repo 名
设置git的用户信息
git config —global user.name “username”
git config —global user.email “you@email.address
新建项目:
github.com上新建repo
mkdir xxx
cd xxx
git init

生成密钥对,这样项目可以push到 GitHub上

#ssh-keygen -t rsa -C "xxx@gmail.com"

将.ssh/id_rsa.pub拷贝到github.com上accout setting SSH Keys里。
为了方便,设置ssh不输入口令

eval `ssh-agent`
ssh-add

(输入passphrase)
git remote add origin git@github.com:nosqldb/mongo.git
origin为git@github.com:nosqldb/mongo.git的别名
本地添加文件
git add tools/export.cpp
确认
git commit -m “add export”
push 到远程
git push origin master

如果报错
error:failed to push some refs to …

Dealing with “non-fast-forward” errors
From time to time you may encounter this error while pushing:
加参数 -f 即可
从现有项目中克隆:
git clone git://github.com/nosqldb/mongo.git

更新文件
vi README
自动commit更改文件
git commit -a
更新至远程
git push origin master

创建和合并分支

#git branch 显示当前分支是master
#git branch new-feature? 创建分支
# git checkout new-feature 切换到新分支
# vi page_cache.inc.php
# git add page_cache.inc.php

Commit 到本地GIT

# git commit -a -m "added initial version of page cache"

合并到远程服务器

# git push origin new-feature

如果new-feature分支成熟了,觉得有必要合并进master

#git checkout master
#git merge new-feature
#git branch
#git push

则master中也合并了new-feature 的代码

再登录到GitHub可以看见”Switch Branches”下的分支选项:

从 tag 创建一个分支

git checkout -b branch_name tag_name

远程仓库更新了,更新自己的仓库

  • 先得将原来的仓库指定为upstream

    git remote add upstream git@github.com:mongodb/mongo.git

  • 再从原repo获得那边的更改

    git fetch upstream
    git merge upstream/master

    • 更新自己的

    git remote add origin git@github.com:nosqldb/mongo.git
    git push origin master

删除远程分支:

1.首先,需要切换到非本次要删除的分支:假如需要删除的分支为A,则需先切换到另外一个分支B

git checkout B

2.执行删除分支的操作:

git branch -D 分支名

3.提交更改:

remote_repo="git@github.com:nosqldb/mongo.git"
remote_branch="v2.2.4"
git push origin :分支名
[root@ccj] mongo]# git push $remote_repo :$remote_branch
Enter passphrase for key '/root/.ssh/id_rsa':
To git@github.com:nosqldb/mongo.git
- [deleted] v2.2.4

如碰到类似以下错误的话:

Enter passphrase for key '/root/.ssh/id_rsa':
remote: error: refusing to delete the current branch: refs/heads/v2.2.4
To git@github.com:nosqldb/mongo.git
! [remote rejected] v2.2.4 (deletion of the current branch prohibited)
error: failed to push some refs to 'git@github.com:nosqldb/mongo.git'

请到项目主页的Settings页里把默认的branch改成其它的,比如master,再执行上述操作即可。

删除远程分支
git branch -r -d origin/branch-name
git push origin :branch-name

删除远程Tag

显示本地 tag

git tag

Remote_Systems_Operation

删除本地tag

git tag -d Remote_Systems_Operation

用push, 删除远程tag

git push origin :refs/tags/Remote_Systems_Operation

举例:

[root@ccj nblog]# git tag
v0.0.1
v0.1
[root@ccj nblog]# git tag -d v0.1
Deleted tag 'v0.1' (was f69e25e)
[root@ccj nblog]# git push origin :refs/tags/v0.1
Enter passphrase for key '/root/.ssh/id_rsa':
To git@github.com:nosqldb/nblog.git
- [deleted] v0.1

撤销

b7c41356a82bb946dfbcc8948857d461f8a98530之前的都撤销

git reset --hard b7c41356a82bb946dfbcc8948857d461f8a98530
git push origin master -f

打补丁

git diff:
未提交,生成补丁:git diff  >0001.patch
已提交,git diff  previous-commit-hash commit-hash >0001.patch
git format-patch 保留作者,提交注释等
生成补丁:git format-patch -1 884b56a00de2cab99429ae06d2f337d3959e3142
 应用补丁:git am 0001-1.0.patch 

 同一repo不同分支,可以用git cherry-pick commit-hash

git log 含有ESC字符

git config --global core.pager "less -r"

ccj 于 2015-10-22 20:49 修改
0 回复
需要 登录 后方可回复, 如果你还没有账号你可以 注册 一个帐号。