git使用复习

  • 建立版本库:
//建立一个文件夹gitreview
mkdir gitreview
//进入到git文件夹内
cd gitreview

使用将这个目录变成git能够管理的仓库 git initgit

在仓库内新建一个文件touch file.textgithub

使用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 key$ ssh-keygen -t rsa -C "youremail@example.com"在用户主目录中找到.ssh目录,里面有id_rsaid_rsa.pub两个文件这两个就是SSH的密匙,id_rsa是私钥,id_rsa.pub是公钥
  • 登录github将id_rsa.pub的内容添加到Settings里
  • 建立一个文件夹

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分支
  • 如今将dev分支合并到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分支上开发,就须要建立origindev分支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

相关文章
相关标签/搜索