最近使用github把自己的一些配置文件托管了记录一下错做,一下是网上搜集的和自己的技巧

备忘一下git 的操作。

1. git 的用户信息注册:

git config --global  user.name “abdo"

git config --global user.email "abdo@xxxx"

注意git 配置文件的解析顺序(优先级递减):

.git/config ~/.gitconfig /etc/gitconfig

# .git/config 最重要,最后解析

同时用户信息注销

git config –unset –global user.email “abdo”

2. git 仓库初始化

git init

git add . # 添加当前路径下的到仓库

git commit -a # 2个操作,包括add 和commit , 发布一个评论

3. git 的拷贝

git clone [ak@]sever:/git/source_code . # 克隆sever下的code到本地,支持ssh

4. git 的同步

A 拷贝最新到本地的master下,并新建一个beta分支

git fetch server:/git/source\_code local\_path master:beta

B 比较master 与beta 的区别

git whatchanged master newest 

C 将本地的master code与beta融合

选择1

git merge beta   # 把beta 放入master, 有点不建议这样,因为容易改动master

选择2

git checkout beta 

git merge master  \# 把master放入beta 

D 消除冲突 (如果有的话)

用文本编辑器(emacs, vi) 编译,消除冲突

5. git 更新远程server的code

git push server:/git/source_code # 注意,如果server只有一个master,默认是不允许修改的。 因为容易发生错误有风险。

建议是推送到server 的master下的一个分支,等管理员检查后在更新server 的master。

git push server:/git/source_code master:dev # 把最新上传的code 放在master下的dev分支。

6. git的邮件提醒(未检验)

由于git 允许分布管理,在同一时间内如果不同的人上传,容易把没有及时更新的code 覆盖,因此在git中,当有人上传最新code时候,进行邮件提醒。默认git 的邮件群发脚本在/usr/share/git-core/templates/hooks/post-receive-email

把这个文件拷贝到server的source code 下的.git/hooks/下,添加执行操作。

这个脚本是用sendmail发送邮件,因此server需开启sendmail服务,也有其他邮件系统的脚步,google立得!

7. git 小技巧

git diff -p hash1 hash2 #hash1 hash2 指哈希值1 和2. 可以不必全,头就行

git cat-files hash1

git ls-files hash1

git rev-parse hash1 # 这个只需要头,就会给出整个hash1, 避免敲错了