Git上传文件的一般步骤
git add filename
git commit -m "注释"
git pull origin master
git push -u origin master
- 由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。此后,每次本地提交后,只要有必要,就可以使用命令 git push origin master 推送最新修改。
远程仓库
git remote add origin git@github.com:michaelliao/learngit.git
git remote add origin Http网址
git remote remove origin
git remote rm origin
git clone git@github.com:michaelliao/gitskills.git
- Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快。
分支
git checkout -b dev
git branch dev
git checkout dev
git branch
git checkout master
git push origin dev:dev
git merge dev
git merge --no-ff -m 'your description' dev
git branch -d dev
git branch -D <name>
git push origin :serverfix
git log --graph --pretty=oneline --abbrev-commit
版本
git reset --hard commit_id
git log
git reflog
git checkout -- file
git reset HEAD file
git checkout -- file
- HEAD指向的版本就是当前版本,上一个版本就是HEAD,上上一个版本就是HEAD,当然往上100个版本写100个比较容易数不过来,所以写成HEAD~100。
查看信息
git log
git log --pretty=oneline
git status
git diff
git show
git show commit_id
git show commit_id file_name
取消跟踪/恢复跟踪
git update-index --assume-unchanged file_name
git update-index --no-assume-unchanged file_name
git ls-files -v | grep -e "^[hsmrck]"
git ls-files -v | grep '^h\ '
git ls-files -v | grep '^h\ ' | awk '{print $2}'
git ls-files -v | grep '^h' | awk '{print $2}' |xargs git update-index --no-assume-unchanged
撤销add 中的错误文件
git status
git reset HEAD
git reset HEAD file_name
储藏工作现场
git stash
git stash list
git stash pop
git stash apply
git stash apply stash@{0}
git stash drop
解决冲突
git stash
git pull
git stash pop
git reset --hard
git checkout HEAD file_name
git pull
移除版本控制
git rm -r -n --cached .idea
git rm -r --cached .idea
git commit -m "something"
git push origin master
git rm file_path
git commit -m "something"
git push
删除.git
rm -rf .git