$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
创建版本库
$ mkdir learngit
$ cd learngit
$ pwd (用于显示当前目录)
/Users/michael/learngit
$ git init (把目录变为git可以管理的仓库)
Initialized empty Git repository in /Users/michael/learngit/.git/
添加文件
$ git add readme.txt
$ git commit -m "wrote a readme file" (把前者add的文件提交,-m后面是说明)
[master (root-commit) eaadf4e] wrote a readme file
1 file changed, 2 insertions(+)
create mode 100644 readme.txt
版本回退
$ git add readme.txt (修改文件后进行提交)
$ git commit -m "append GPL"
[master 1094adb] append GPL
1 file changed, 1 insertion(+), 1 deletion(-)
$ git log(查看历史记录,每次提交的相关信息,--pretty=oneline加上这个参数可以让每次的信息只显示一行)
$ git reset --hard HEAD^(版本回退,上一次是^,两次是^^,100次是HEAD~100)
HEAD is now at e475afc add distributed
$ git reset --hard 1094a (当回退以后通过版本号回到现在或者未来的版本)
$ cat readme.txt(查看文本内容)
$git reflog 记录了每一次命令,能够轻松找到版本号
git log remotes/origin/master 查看远程仓库的版本号
git mv source destination 文件名就是改名 路径的话就是移动 注意路径要加/
合并多个commit
首先查看要合并的前一个版本的hash 通过git log或者git log remotes/origin/master(这里的分支不一定是mater)
然后记住hash git rebase -i hash值,也就是除了这一条commit外合并
弹出编辑框,pick 是选用这个commit ,squash或者s是合并到上一个commit,修改后保存,
在修改commit message后保存退出用git log查看发现已经合并了。
git diff test 查看当前目录和另一个分支test的区别
使用git stash 将A分支暂存起来,然后在某一个分支(如master分支)新建一个分支B,
然后在B分支上使用git stash pop 将修改弹出到B分支上,然后这些修改就在B分支上了。~
git show commit_id 显示提交的信息
参考合并commit 以及合并commit到一个点
拆分/合并/修改
git rebase 使用
git stash 保存当前分支的修改 git pop弹出
Git-命令行-删除本地和远程分支
git blame && git show 查看某一行代码的修改历史
Git 基础 - 撤消操作
git stash英文介绍
git stash 中文介绍
当你在work一半的途中要求更改一个bug,但此时又不能提交,就是使用git stash的时候了。