Git 项目实践中的常用命令,Git项目版本控制,Git项目分支管理,Git撤销与回滚等

Git

Git 常用命令

  • git init 这个目录变成Git可以管理的仓库
  • git clone 拷贝一个 Git 仓库到本地,让自己能够查看该项目,或者进行修改。
  • git remote add origin ***.git 添加远程仓库地址
  • git remote rm origin 删除添加的远程地址
  • git remote add origin ***.git 添加远程仓库地址
  • git push -u origin master 命令将本地的master分支推送到origin主机,同时指定origin为默认主机,后面就可以不加任何参数使用git push了。
  • 推送到远程仓库的dev分支:git push origin dev
  • git push origin 将当前分支推送到origin主机的对应分支。
  • -u选项会指定一个默认主机,这样后面就可以不加任何参数使用git push。
  • git log 查看提交历史
  • git status 命令用于查看在你上次提交之后是否有对文件进行再次修改
  • git diff 命令比较文件的不同,即比较文件在暂存区和工作区的差异
  • git add * 命令可将该文件添加到暂存区
  • git commit -m "message" 命令将暂存区内容添加到本地仓库中。
  • commit之后又改了一个小bug,但是又不想增加一个commit,可以用:git commit --amend --no-edit,直接将改动添加到上一次的commit中
  • git push 命用于从将本地的分支版本上传到远程并合并。
  • git pull 命令用于从远程获取代码并合并本地的版本

基本用法:

git pull <远程主机名> <远程分支名>:<本地分支名>

例如执行下面语句:

git pull origin master:brantest

将远程主机origin的master分支拉取过来,与本地的brantest分支合并。

如果远程分支是与当前分支合并,则冒号后面的部分可以省略:

git pull origin master
  • touch .gitignore 哪些文件不需要添加到版本管理中

Git 标签管理

  • 首先切换到需要打标签的分支上,然后使用git tag v1.0就可以在当前commit打上v1.0的标签
  • git tag v1.0 commitID 对特定commit打标签
  • 打标签时加上message:git tag -a -m "message"
  • git tag 查看所有标签
  • git show [tagname] 查看标签详细信息
  • git push origin 可以推送一个本地标签到远程仓库
  • git push origin --tags可以推送全部未推送过的本地标签
  • git tag -d 可以删除一个本地标签
  • git push origin :refs/tags/可以删除一个远程标签(先从本地删除)

Git 撤销与回滚

  • 暂存区git add之后commit之前存在的区域;工作区git commit之后存在的区域;远程仓库git push之后;
  • 作了修改,但还没git add,撤销到上一次提交:git checkout -f -- filenamegit checkout -f -- .
  • 作了修改,并且已经 git add,但还没 git commit
    • 先将暂存区的修改撤销:git reset HEAD filename/git reset HEAD;此时修改只存在于工作区,变为了 “unstaged changes”;
    • 再利用上面的checkout命令从工作区撤销修改
  • git add之后,作了修改,想丢弃这次修改:git checkout -f --filename会回到最近一次git add
  • 作了修改,并且已经 git commit了,想撤销这次的修改:
    • git revert commitID. 其实,git revert可以用来撤销任意一次的修改,不一定要是最近一次
    • git reset --hard commitID/git reset --hard HEAD^(HEAD表示当前版本,几个^表示倒数第几个版本,倒数第100个版本可以用HEAD~100);参数--hard:强制将暂存区和工作区都同步到指定的版本
    • git resetgit revert的区别是:reset是用来回滚的,将HEAD的指针指向了想要回滚的版本,作为最新的版本,而后面的版本也都没有了;而revert只是用来撤销某一次更改,对之后的更改并没有影响
    • 然后再用git push -f提交到远程仓库

Git 分支管理

  • 创建分支: git branch test
  • 切换分支: git checkout test
  • 创建并切换分支:git checkout -b test
  • 将test分支的更改合并到master分支:先在test分支上commit、push,再:git checkout master; git merge test
  • 如果合并时产生冲突:先手动解决冲突,再合并
  • 删除分支:git branch -d test
  • git stash
    • 如果当前分支还有任务没有做完,也不想提交,但此时需要切换或者创建其它分支,就可以使用stash将当前分支的所有修改(包括暂存区)先储藏起来;然后就可以切换到其它分支
    • 在其它分支工作完成之后,首先切换回原来的分支,然后使用git stash list命令查看
    • 可以使用git stash apply 恢复之前储藏的工作现场,再使用git stash drop 删除掉储藏的内容
    • 也可以直接用git stash pop恢复并删除内容
  • 如果在其它分支上做了一个修改(比如修复了一个bug,这次修改有一个commitID),想要将这次修改应用到当前分支上,可以使用:git cherry-pick commitID,可以复制一个特定的提交到当前分支

学习资料

  • Learn Git Branching - 可视化的学习 Git 操作
  • Git教程 - 廖雪峰的官方网站
  • 速查!Git常用命令大全【汇总推荐】
  • Git使用教程

你可能感兴趣的:(git版本控制,javascript,缓存,前端,git,github)