//建立一个文件夹gitreview mkdir gitreview //进入到git文件夹内 cd gitreview
使用将这个目录变成git能够管理的仓库 git init
git
在仓库内新建一个文件touch file.text
github
使用git add file.text
把文件添加到仓库app
使用git commit -m "first upload"
把文件提交到仓库-m
后面输入的是本次提交的说明,能够输入任意内容ssh
修改文件file.text
并使用git status
查看当前仓库的状态code
git diff
查看上次修改的记录排序
git log
查看历史记录开发
使用git reset --hard HEAD^
回退到上一个版本rem
git reflog
记录了你的每一次命令it
使用git reset --hard 版本号
能够退回到当前版本ast
当第一次修改某个文件的时候,git add xfile
以后再一次修改了文件并git commit -m "commit"
后,发现第二次的修改没有生效,提交到仓库的是第一次修改的内容.git 管理的是修改,当使用git add
命令后,工做区的第一次修改被放入到了暂存区,准备提交,可是,在工做区的第二次修改并无放入暂存区,因此,git commit只负责把暂存区的修改提交了,也就是第一次的修改被提交了,第二次的修改不会被提交。
git checkout -- file.text
意思是把file.text
在工做区的修改所有撤销
当修改的文件已经被git add
以后如何可以退回:git reset HEAD file.text
把暂存区的修改回退到工做区,使用git checkout -- file.text
丢弃工做区
使用git rm file.text
来删除文件,使用git checkout -- file.text
将删除的文件恢复到最新版本 #####经过SSH提交代码到github
$ ssh-keygen -t rsa -C "youremail@example.com"
在用户主目录中找到.ssh
目录,里面有id_rsa
和id_rsa.pub
两个文件这两个就是SSH的密匙,id_rsa是私钥,id_rsa.pub是公钥touch README.MD
git init
git add README.MD
git commit -m "commit"
git remote add origin git@github.com:bilibiliSiki/LeetCode.git
git push -u origin master
数据就提交到了github上 #####分支管理
git checkout -b dev
表示建立并切换至关于</br> git branch dev
git checkout dev
git branch
查看当前分支git checkout master
切换回master分支git merge dev
git branch -d dev
删除dev分支 ######分支管理策略 一般git会用fast forward
模式,但这种模式下删除分支后会丢掉分支信息合并分支的时候git merge --no-ff -m "merge dev" dev
使用no-ff
表示禁用fast forward
合并分支的时候,加上--no-ff
参数能够用普通模式合并,合并后的历史有分支,而fast forward
合并看不出来曾经作过合并 ######Bug分支 git stash
能够把现场储藏起来等恢复现场后继续工做
git stash list
查看刚才的工做现场
如今有两种方式来恢复
git stash apply
恢复,可是恢复后stash内容并不删除,须要git stash drop
来删除git stash pop
恢复的同时把stash的内容也删了git stash apply stash@{0} 恢复指定的stash
######多人协做
git remote
查看远程库的信息git remote -v
显示更详细的信息git push origin dev
推送其余分支git clone git@github.com:bilibiliSiki/LeetCode.git
从远程库克隆只能看到本地的master
分支,如今须要在dev
分支上开发,就须要建立origin
的dev
分支git checkout -b dev origin/dev
git pull
把提交的数据抓下来######git标签 git tag v1.0
建立一个标签
git tag
现实全部的标签
git show v1.0
按字母排序列出数据
git tag -d v0.1
删除标签
推送某个标签到本地 git push origin v1.0
一次性推送所有还没有推送的本地标签 git push origin --tags