git使用小记

update:2015-2-6

git一直在使用,记了一些笔记。虽然也知道怎么个流程,平时也知道怎么用,但是有时候就会想不起一些命令,还需要去google之。最近小团队在推荐使用git, 给他们说的时候,缺一个符合自己的文档。这里来记录一下。

1. 下载:

windows版
Mac版
Linux版
当然对于linux和Mac来说,通过apt-get install git 或者 mac下通过brew install git 来安装是最方便的。

2. 基本配置

git config --global user.name "Your Name Here"
git config --global user.email "your_email@youremail.com"

3. 生成SSH Keys

cd ~/.ssh      
ssh-keygen -t rsa -C "your_email@youremail.com"
# Creates a new ssh key using the provided email

# Generating public/private rsa key pair.
# Enter file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]

#Enter passphrase (empty for no passphrase): [Type a passphrase]
# Enter same passphrase again: [Type passphrase again]
#然后应该类似:
#Your identification has been saved in /Users/you/.ssh/id_rsa.
# Your public key has been saved in /Users/you/.ssh/id_rsa.pub.
# The key fingerprint is:
# 01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db your_email@youremail.com

4. 添加SSH KEYS到github或者bitbucket相关账户配置

pbcopy < ~/.ssh/id_rsa.pub

打开id_rsa.pub把其中内容复制过去。

5. git clone

git clone git@bitbucket.org:eagleon/acrm.git

6. git remote

git remote add remote_name git@bitbucket.org:eagleon/acrm.git

7. git push,pull,fetch

git pull remote_name branch_name               
git push remote_name branch_name   
git pull origin master  #从远程拉取到本地master分支 
git fetch remote_name branch_name
git fetch origin master # 从远程拉取到本地的origin/master分支,但是不合并到master

8. 打tag,branch

git tag v0.1
git branch new_branch

9. add,commit相关

git status
git add .
git commit -a
git commit --amend #覆盖上次添加

10. merge

git merge <branch>    #把某个分支合并到现有分支
git merge --no-ff develop # 默认情况下,Git执行"快进式合并"(fast-farward merge),会直接将Master分支指向Develop分支。使用--no-ff参数后,会执行正常合并,在Master分支上生成一个新节点。为了保证版本演进的清晰,我们希望采用这种做法。

11. 缓存SSH密码

git config credential.helper store  #缓存到文件中,永久储存
git config credential.helper cache  # linux 缓存到内存中
git config --global credential.helper winstore # windows 缓存到内存中,需要下载git-credential-winstore到git的bin目录下    
git config --global credential.helper osxkeychain # mac 缓存到keychain中
git config --global credential.helper osxkeychain  #linux mac windows都可以添加global参数
git config credential.helper 'cache --timeout=3600' #数字为保存的时间(秒,默认900) 在这个时间内输入的密码都是有效的, 

12. git alias

[alias]
    lg = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
    last = log -1
    co = checkout
    ci = commit
    br = branch
    st = status

Ref:

Set Up Git
Caching your GitHub password in Git
git-credential-winstore
Generating SSH keys
git - 简明指南
Git分支管理策略
Git远程操作详解

大虾米 /
Published under (CC) BY-NC-SA in categories learn  tagged with github  bitbucket  git