Git initialize a repository locally

#!/bin/bash

#set -x
set -e
set -u

if test $# -lt 1; then
        echo 1>&2 "Usage $0 dir_name_in_github"
        exit 1
fi

git init
git add *
git commit -m " Organized ones" 
git remote add origin git@github.com:NAME/$1.git
git push -u origin master

After you run this script, you can get a directory .git, check the config file within.

[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
[remote "origin"]
		#ssh verification 
        url = git@github.com:NAME/Pot.git
		#or user-name password verification
		#url = https://github.com/NAME/NS.git
        fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
        remote = origin
        merge = refs/heads/master

Git update files (use gitUpdate.sh "*" for multiple files)

#!/bin/bash

#set -x
set -e
set -u

if test $# -lt 2; then
        echo 1>&2 "Usage $0 file commit"
        exit 1
fi

git add $1
git commit -m "$2 FOR <$1>" 
git push -u origin master

git中查看文件的差异

#显示在当前的工作目录里的,没有staged(添加到索引中),且在下次提交时不会被提交的修改。
# + 或绿色标记的行为所要内同
git diff  

#如果你要看在下次提交时要提交的内容(staged,添加到索引中)
git diff --cached

git删除版本库中的一个提交。

如果没有git push的话,可以先通过git log查询出上一个版本的SHA码,然后git reset XXXXX退回到上一个版本.

git中合并几次提交

通过git log找到最想要的版本的SHA码,然后git reset SHA码,这样中间状态被消除,但是程序却没有变,再执行add-commit,提交就可以了。

git更新本地版本库

git pull #git会自动尝试抓取、合并更新后的文件,但有时会发生冲突,需要手动处理。处理好之后,需要再把数据更新到git库。

git克隆已有版本库

git clone git@github.com:User_name/training.git training

Ref:http://gitbook.liuhui998.com/3_5.html