等我视频:
1.安装完git之后设置一下用户名和密码
$ git config --global user.name "Your Name" $ git config --global user.email "email@example.com"
2.把文件夹变成git仓库
git init
3.添加文件
git add hello.txt
4.推送文件
git commit -m "add a new file"
5.查看当前仓库的状态
git status
6.查看修改内容
git diff
7.查看版本信息
git log
8.回退某个版本
git reset --hard commit_id
9.查不到以前版本的commi_id了怎么办?查看命令历史
git reflog
10.查看工作区的文件和版本库里面的暂存区内文件的差别
git diff HEAD --readme.txt
11.撤销修改,这里分为两种情况,如果你已经add了,就撤销到你add时候的状态,如果你还木有add,那就撤回到你上次commit的状态。下面代码的本意就是撤销到该文件的上一步操作。
git checkout -- readme.txt // -- 前后一定要有空格哦
12.add文件之后返回add之前的时候
git reset HEAD readme.txt
13.删除文件分为两种,rm和git rm
git rm test.txt //发现误删 git checkout -- test.txt //利用checkout撤回到test.txt存在的时候
git rm test.txt //利用git rm删除,版本库里面直接没有了,不可撤销 git commit -m "rm test.txt"
14.创建公钥和密钥
$ ssh-keygen -t rsa -C "youremail@example.com"
15.关联远程仓库
git remote add origin git@github.com:YouName/repo-name.git //我这里使用的是github
16.推送本地仓库到远程仓库
git push -u origin master //第一次的时候加 -u 是为了两个仓库之间建立联系,以后就不要-u了 git push origin master //这是后面的,不要加-u了
17.从远程仓库上面克隆一个本地仓库
git clone git@github.com:YourName/rep_name.git
18.分支
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
19.解决分支冲突
我新建了一个分支feature1,在readme.txt里面添加了
hello and miss
然后切换回主分支,在readme.txt里面添加了
hello & miss
现在我合并这两个分支,是肯定会起冲突的,可以用git status 查看冲突的文件,也可以cat文件看冲突的部分
手动修改之后就可以提交了
git log --graph 可以查看分支合并图
20.分支管理策略
合并分支的时候,加上 --no-ff 禁用快速合并可以commit一次合并历史
git merge --no-ff -m "merge with no-ff" dev
如果你用的是Fast forward模式就不会有合并历史的分支,建议使用 --no-ff
21.保存你现在的工作内容,这样你就可以切换分支去改Bug了
git stash
还原我们的工作内容
//方法一 git stash apply //恢复工作内容 git stash drop //删除stash存储的东东 //方法二 git stash pop //直接恢复内容并删除stash里面的东东 //查看stash里面存的神魔 git stash ist //多次stash恢复的时候可以先list然后呢 git stash apply stash@{0}
22.强行删除未合并的分支
git branch -D feature
23.多人协作
24.建立标签
当前的commit打标签
git tag v1.0
给某一个commit版本打标签
git tag v0.9 e6263...
查看当前的tag的状态
git tag
查看某个标签的详细信息
git show v0.9
创建带说明的标签
git tag -a v0.1 -m "version 0.1 released" 3628164
用私钥签名一个标签
git tag -s v0.2 -m "signed version 0.2 released" fec145a //这个是采用的PGP签名,需要安装gpg 没有的话会报错,怎么安装自己搜去吧
25.操作标签
删除本地标签
git tag -d v0.1
推送标签到远程仓库
git push origin v0.1 //推送一个标签 git push origin --tags //推送全部的标签
删除远程仓库里面的标签
git tag -d v0.1 //先删除本地的标签 git push origin :refs/tags/v0.9 //删除远程仓库上的标签
26.配置别名
git config --global alias.st status //把status配置别名成st 注意那个小点点.......
后面的就没啥记忆的了。什么时候能有自己的房间呢?我想弹琴编曲录音做视频.........