Git init命令笔记

git init命令用来创建一个新的Git仓库。它既可以用来完全初始化一个新的空仓库,也可以把一个已经存在的,没有版本控制的仓库转成Git仓库。执行git init命令会在指定工程的根目录下创建一个.git的子文件夹。除了.git子文件夹,工程的其它文件都不会改变。

使用:

a)git init
把当前目录变成一个Git仓库。

b)git init <directory>
在指定的目录下创建Git仓库。执行这个命令将会创建一个叫directory的新文件夹,在这个文件夹里只有.git子文件夹。

c)git init --bare <directory>
初始化一个没有工作文件夹的空的Git仓库。用来共享的Git仓库应该始终使用--bare选项来创建。通常情况下,用--bare选项初始化的仓库以.git作为后缀。举个例子,使用--bare选项创建的project仓库应该叫project.git

比较一下git init <directory>git init --bare <directory>
首先执行git init linux:

[root@CentOS ~]# git init linux
Initialized empty Git repository in /root/linux/.git/
[root@CentOS ~]# ls -alt linux/
total 8
dr-xr-x---. 5 root root 4096 Jun  2 12:53 ..
drwxr-xr-x. 7 root root 4096 Jun  2 12:42 .git
drwxr-xr-x. 3 root root   17 Jun  2 12:42 .
[root@CentOS ~]# ls -alt linux/.git
total 20
drwxr-xr-x. 7 root root 4096 Jun  2 12:42 .
drwxr-xr-x. 4 root root   28 Jun  2 12:42 objects
-rw-r--r--. 1 root root   92 Jun  2 12:42 config
-rw-r--r--. 1 root root   23 Jun  2 12:42 HEAD
drwxr-xr-x. 2 root root   20 Jun  2 12:42 info
drwxr-xr-x. 2 root root 4096 Jun  2 12:42 hooks
-rw-r--r--. 1 root root   73 Jun  2 12:42 description
drwxr-xr-x. 2 root root    6 Jun  2 12:42 branches
drwxr-xr-x. 3 root root   17 Jun  2 12:42 ..
drwxr-xr-x. 4 root root   29 Jun  2 12:42 refs

接着执行git init --bare bsd:

[root@CentOS ~]# git init --bare bsd
Initialized empty Git repository in /root/bsd/
[root@CentOS ~]# ls -lt bsd
total 16
drwxr-xr-x. 4 root root   28 Jun  2 13:01 objects
-rw-r--r--. 1 root root   66 Jun  2 13:01 config
drwxr-xr-x. 2 root root    6 Jun  2 13:01 branches
-rw-r--r--. 1 root root   73 Jun  2 13:01 description
-rw-r--r--. 1 root root   23 Jun  2 13:01 HEAD
drwxr-xr-x. 2 root root 4096 Jun  2 13:01 hooks
drwxr-xr-x. 2 root root   20 Jun  2 13:01 info
drwxr-xr-x. 4 root root   29 Jun  2 13:01 refs

可以看到所有的文件信息都直接创建在bsd目录下,而没有创建在.git文件夹下。

参考文档:
git init

解决screen会话闪烁的问题

使用GNU screen创建多个工作会话时,使用时可能会遇到会话屏幕闪烁的问题。比如在命令行使用backspace把所有字符都删除完以后,或是man某个命令翻到最后一页还接着往下翻,等等。原因是visual bell在捣鬼。解决方法如下:

(1)编辑“~/.screenrc”文件;
(2)加入以下行:

vbell_msg "bell: window ~%"     # Message for visual bell
vbellwait 2                     # Seconds to pause the screen for visual bell
vbell off                       # Turns visual bell off

参考文档:
http://stackoverflow.com/questions/897358/gnu-screen-refresh-problem