Git使用指南


1.创建目录
$ git config --global user.name "Your Name Comes Here"

$ git config --global user.email you@yourdomain.example.com

$ git config --list 查看相关信息

$ git init

如果作为 Server 存在,那么可以忽略工作目录,以纯代码仓库形式存在。

$ git --bare init

可以在~/.gitconfig设置别名

[alias]
st = status
ci = commit -a
co = checkout 
 
2.文件操作
$ git add .

$ git add file1 file2 file3

$ git add -u

$ git add -p // 为你做的每次修改,Git将为你展示变动的代码,并询问该变动是否应是下一次提交的一部分。回答“y”或者“n”。也有其他选项,比如延迟决定:键入“?”来学习更多。

$ git rm file1 file2 file3

$ git mv file1 file2


3.提交更改
$ git commit -a -m ' '

$ git commit --amend -a -m ' ' // 修改上一次的信息,不作为新的提交

$ git stash // 保存当前草稿,便于切换分支
 
$ git stash pop
 
$ git stash apply
 
$ git stash list
 
$ git stash apply stash@{1}
 
$ git stash clear


4.撤销更改
$ git reset HEAD file1 // 取消暂存区的文件快照(即恢复成最后一个提交版本),这不会影响工作目录的文件修改。

$ git reset --hard HEAD^ // 将整个项目回溯到以前的某个版本,可以使用 "git reset"。可以选择的参数包括默认的 "--mixed" 和 "--hard",前者不会取消工作目录的修改,而后者则放弃全部的修改。该操作会丢失其后的日志


$ git checkout -- file1 // 使用暂存区快照恢复工作目录文件,工作目录的文件修改被抛弃。

$ git checkout HEAD^ file1 // 直接 "签出" 代码仓库中的某个文件版本到工作目录,该操作同时会取消暂存区快照。

$ git checkout "@{10 minutes ago}" // 直接 "签出" 10分钟之前代码仓库中的某个文件版本到工作目录,该操作同时会取消暂存区快照。

$ git checkout "@{5}" // 直接 "签出" 倒数第五次保存的某个文件版本到工作目录,该操作同时会取消暂存区快照。

$ git revert SHA1_HASH // 还原特定哈希值对应的提交。该还原记录作为一个新的提交。


5.查看历史纪录或者当前状态
$ git log

$ git log -p

$ git log --stat --summary

$ git log V3..V7 //显示V3之后直至V7的所有历史记录

$ git log V3.. //显示所有V3之后的历史记录。注意<since>..<until>中任何一个被省略都将被默认设置为HEAD。所以如果使用..<until>的话,git log在大部分情况下会输出空的。

$ git log –since=”2 weeks ago” //显示2周前到现在的所有历史记录。具体语法可查询git-ref-parse命令的帮助文件。

$ git log stable..experimental //将显示在experimental分支但不在stable分支的历史记录

$ git log experimental..stable //将显示在stable分支但不在experimental分支的历史记录

$ git log -S'你要找的内容',就可以从全部的历史纪录,瞬間找到你要找的东西


$ git blame FILE // 标注出一个指定的文件里每一行内容的最后修改者,和最后修改时间。

$ git diff // 这个命令只在git add之前使用有效。如果已经add了,那么此命令输出为空

$ git diff –cached // 这个命令在git add之后在git commit之前有效。

$ git diff "@{yesterday}" // 比较当前和昨天的内容

$ git status // 这个命令在git commit之前有效,表示都有哪些文件发生了改动


 

$ git show 5b888 // 使用git show再加上述的commit名称来显式更详细的commit信息

$ git show master // 显示分支信息

$ git show HEAD // 使用HEAD字段可以代表当前分支的头(也就是最近一次commit)

$ git show HEAD^ //查看HEAD的父母的信息, 可以使用^表示parent

$ git show HEAD^^ //查看HEAD的父母的父母的信息

$ git show HEAD~4 //查看HEAD上溯4代的信息


$ git tag V3 5b888 //以后可以用V3来代替复杂的名称(5b888…)

$ git show V3

$ git branch stable V3 //建立一个基于V3的分支

$ git grep “print” V3 //在V3中搜索所有的包含print的行

$ git grep “print” //在所有的历史记录中搜索包含print的行

  • 1
  • 2
  • 下一页

相关内容