GIt基本操作

参考: 廖雪峰的git教程.

创建版本库
 git init
 git add <file-name>
 git commit <file-name> -m "<commit-desc>"
版本回退
 git reset --hard HEAD~1 #回退到上一个版本
 或者 git reset --hard HEAD^
 git reset --hard <commit-id> #回退到commit-id的版本
   ##解释**HEAD指针的指向进行前后的移动
 git reflog #显示操作记录 


撤销修改
 git checkout -- readme.txt(工作区撤销,撤回到上次 git add 和 git commit 状态)
 git reset HEAD readme.txt(暂存区撤销)

删除文件
 rm test.txt(删除工作区文件)
 git rm test.txt(删除版本控制区文件)
 
添加远程仓库
 git remote add origin git@github.com/ZEROAZERO/OldFour.git
 git push -u origin master
 
	#错误**zwqiu@DESKTOP-UJ560OP MINGW64 /d/Git/git-repositories/OldFour (master)
		$ git push origin master
		To https://github.com/ZEROAZERO/OldFour.git
		! [rejected]        master -> master (fetch first)
		error: failed to push some refs to 'https://github.com/ZEROAZERO/OldFour.git'
		hint: Updates were rejected because the remote contains work that you do
		hint: not have locally. This is usually caused by another repository pushing
		hint: to the same ref. You may want to first integrate the remote changes
		hint: (e.g., 'git pull ...') before pushing again.
		hint: See the 'Note about fast-forwards' in 'git push --help' for details.
	#原因*由于修改了 github 网站的 README
	#解决*1.git pull 2.git push
克隆远程仓库
 git clone git@github.com/xxx/xxx.git

分支管理
 创建和切换分支
  git branch dev #创建分治(1)
  git checkout dev #切换分支(2)
  (1)(2)=》git checkout -b dev
  git branch #查看分支
  git merge dev #合并分支 在 master 合并
  git branch -d dev
  
  git switch -c dev #创建并切换分支
  git switch master
  
  Git
  鼓励大量使用分支:
  查看分支:git branch
  创建分支:git branch <name>
  切换分支:git checkout <name>或者git switch <name>
  创建+切换分支:git checkout -b <name>或者git switch -c <name>
  合并分支到当前分支:git merge <name>
  删除分支:git branch -d <name>
  
解决冲突
 git checkout -b featurel #创建并切换分支
 git add readme.txt
 git commit -m "说明1" #修改readme.txt
 git checkout master #切换分支
 git add readme.txt
 git commit -m "说明2" #修改readme.txt
 #产生冲突
 git status #查看状态
 cat readme.txt
  ##显示**this is a test file
		  this is a readme.txt
		  <<<<<<< HEAD
		  a simple
          =======
          and simple
          >>>>>>> featurel
		  #产生冲突的位置
  ##修改**this is a test file
		  this is a readme.txt
          and simple
 git add readme.txt
 git commit -m "conflict"
 git log --graph --pretty=oneline --abbrev-commit #查看分支情况
 git branch -d featurel #删除分支
分支管理策略
 git merge --no-ff -m "merge with no-ff" dev #本次合并要创建一个新的commit,所以加上-m参数,把commit描述写进去。
 
bug修复#master出现bug
 git stash #储存当前现场
 git checkout master
 git checkout -b issue-101 #创建处理bug分支
 git add readme.txt 
 git commit -m "fix bug 101"
 git checkout master
 git merge --no-ff -m "merged bug fix 101" issue-101 #修复bug完成
 git checkout dev
 git status
	##显示**On branch dev
	        nothing to commit, working tree clean
 (1)git stash list #查看工作现场
 (2)git stash apply #恢复现场 git stash drop #删除stash
 (1)(2)=》git stash pop,恢复并删stash

强制删除分支
 git branch -D <branch-name>
协作 
 git remote -v #查看远程仓库
推送分支
 git push origin <branch-name:master> 
多人协作
 git checkout -b branch-name origin/<branch-name> #本地创建远程分支到本地
 git branch --set-upstream-to=origin/dev dev #远程dev和本地dev关联 no tracking information
 git pull #拉取文件
 git push origin <branch-name>
标签
 git tag <tag-name> #在某个分支上最后一次commit达tag
 git log --pretty=oneline --abbrev-commit #查看commit id
 git tag <tag-name> <commit-id> #为某个commit-id打tag
 git tag #查看tag信息
 git tag -a <tag-name> -m "<tag-desc>" <commit-id>
 git show <tag-name> #显示
 
 git tag -d <tag-name> #删除本地tag
 git push origin <tag-name> #推送远程
 git push origin --tags #推送所有标签
 git push origin :refs/tags/<tag-name> #删除远程标签
使用 github
 other repositories -(fork)-> 
 my repositories -(down)->
 local repositories
 
 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值