Git

一. 配置用户信息

$git config --global user.name "Yuzifu"
$git config --global user.email "yuzifu@mycompanydomain.com"

二. 创建仓库

$git init
$git add -A
$git commit -m "Initial work space."

三. 恢复到之前提交的版本
1. 临时恢复

$git checkout [VersionNO] [FileName/DirectoryName]

如果没有指定 VersionNO , git 会恢复到最后一个提交的版本.
VersionNO 不一定要写全, 只要能识别, 可以是VersionNO的前 N 个字符.
VersionNO 可以是 “HEAD” , 表示当前 branch 的最后一个提交的版本, “HEAD^” 表示父版本, “HEAD^^” 表示祖父版本, “HEAD~4” 表示祖父之祖父版本.

如果指定了文件名或目录名, git 会只恢复指定的内容, 并且是以静默的方式覆盖原有内容.

如果这时编辑并提交, git 会创建另一个 branch .
要回到原来的版本, 恢复默认 branch 即可.

$git checkout master

2. 永久恢复

$git reset --hard [VersionNO]

如果没有指定 VersionNO , git 会恢复到最后一个提交的版本.
VersionNO 不一定要写全, 只要能识别, 可以是 VersionNO 的前 N 个字符.
VersionNO 可以是 “HEAD” , 表示当前 branch 的最后一个提交的版本, “HEAD^” 表示父版本, “HEAD^^” 表示祖父版本, “HEAD~4” 表示祖父之祖父版本.

如果 git 里包含有比指定 VersionNO 更新的版本, 则在执行此动作后, 更新的版本都会永久删除.

四. 查看
1. 查看日志

$git log

2. 查看状态

$git status

3. 查看差异

git diff

五. Remote
1. 创建远程仓库
远程仓库位于 windows 共享

$pushd //<RemoteServer>/PathToRepo/
$git init --bare
$git popd

2. 添加远程仓库

$git remote add <RemoteName> <RemoteURL>

3. 显示远程仓库

$git remote show [RemoteName]

4. 从远程仓库获取更新

$git fetch <RemoteName> <BranchName>

5. 合并远程仓库的更新

$git checkout master
$git merge <RemoteName>/<BranchName>

$git pull <RemoteName> <BranchName>

6. 推送本地更新到远程仓库

$git push <RemoteName> <BranchName>