Skip to content

gaodong/mygit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

142 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Git 操作

初始化

git init

添加文件

git add fileName

提交文件

git commit -m "message"

比较文件

git diff filename 比较本地文件和缓存区

git diff HEAD filename 比较本地文件和版本库的文件

git diff --staged 比较暂存区与版本库之间的差别

版本退回

git reset --hard HEAD

git reset --hard HEAD^

git reset --hard HEAD~10

git reset --hard 123456

git reset HEAD fileName # 将暂存区恢复到和版本库一致

撤销修改

git checkout -- fileName

git checkout HEAD fileName

  1. 当文件未add到缓存区时,使用checkout命令将返回和版本库一致

  2. 当文件add到缓存区后,并且再次在工作区修改,使用checkout命令,则恢复到缓存区状态

删除文件

git rm filename

操作案例
  1. 本地修改,未提交到缓存区,恢复

    git checkout -- fileName

  2. 本地修改,提交到缓存区, 再次修改,恢复到缓存区

    git checkout -- fileName

  3. 本地修改,提交到缓存区,想恢复到版本库

    git reset HEAD fileName

    git checkout -- fileName

git远程

git add remote origin git@github.com:gaodong/mygit.git # 添加远程库

git push -u origin master # 第一次推送全部采用 -u 推送所有分支

git push origin master # 向服务器推送

克隆

git clone git@github.com:gaodong/mygit.git

分支

git branch dev 创建分支

git checkout dev 切换到分支

or

git checkout -b dev 创建并切换至分支

查看当前分支

git branch

切换分支

git checkout branchName

创建本地分支,并关联到远程分支

git checkout -b <branchName> origin/dev

合并

git merge branchName # 当前在master,合并test分支内容

merge 存在fast forward模式,这种模式下,如果其中一个分支无任何变化,那么合并之后会丢失另一分支信息,无另一分支修改节点 采用 --no-ff 参数,禁止faset forward模式

git merge --no-ff -m "message" branchName

删除分支

git branch -d branchName

删除一个还未合并的分支使用

git branch -D branchName

Stash 缓存

当前工作区内容还未完成,需要临时切换到其它分支工作,可以使用git stash 储存当前工作区

git stash

查看储存的工作区

git stash list

恢复工作区

git stash apply stash@{0} # 采用此方法恢复工作区,储存的工作区不会删除

git stash drop stash@{0}# 删除存储的工作区

or

git stash pop # 等同以上2句

如果远程推送有冲突

git pull 取回到本地工作区,解决冲突,提交,推送

如果 git pull 提示no tracking information失败,说明本地分支和远程分支没有建立链接

git branch --set-upstream dev origin/dev

git pull

标签 tag

git tag v0.01

git tag v0.01 <commit_id>

git show v0.01

git tag # 查看打的tag

未标签增加说明

git tag -a v0.01 -m "" <commit_id>

删除标签

git tag -d v0.01

推送标签

git push origin v0.01

git push origin --tags # 本地标签全部推上去

删除远程标签
  1. 先删除本地标签

    git tag -d v0.01

  2. 删除远程标签

    git push origin :refs/tags/v0.01

About

gitlearn

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors