git使用
git init --初始化库
git clone -b 分支名 地址 --clone代码
git fetch origin --更新remotes/origin源码库
git pull --rebase 远程名 分支名 --更新本地分支
git push -f 远程名 本地分支名:远程分支名 --推送分支
git remote add 远程库链接名 远程库地址 //添加远程库
git remote set-url <远程仓库名><新的远程仓库地址> //更改远程仓库地址
git remote -v //查看远程库
git remote show origin //查看origin远程库
git remote remove test_name //删除test_name远程库
git remote rename origin origin_test //重命名远程库origin改为origin_test
git remote set-url --push <主库名> no_push //为防止自己不小心push代码到主库设置方
git checkout -b dev origin/dev //将远程仓库中的dev分支复制到本地
git checkout -b wzy //在本地创建自己的分支名为 wzy
git branch -m oldbranchname newbranchname //分支名重命名
git branch -vv查看本地分支与远程分支关联关系
git branch 查看当前分支
git branch -a 查看本地和远程所有分支
git branch -D BranchName --删除本地分支
git push origin -d BranchName --删除远程分支
git log --pretty=oneline //查看日志
git reset --hard commit_id //退到/进到 指定commit的sha码
git status -s 查看本地代码修改情况
git commit -m "描述"
git commit -c <原commit号>
git merge --abort//合入终止
git clean -df . //删除本地所有未add的文件
git checkout -- 文件名 //还原本地已经已add未commit的文件
==========git 日志修改===========
git log --pretty=oneline
日志记录C1<C2<C3(最新提交记录)
修改C3日志可直接 git commit --amend
修改C2日志
$ git rebase --interactive HEAD~2
git rebase –abort //终止rebase操作
显示出这个
pick aa28b20 add NPOIExcel //C2
pick c8c01a0 add Hydraumatic project //C3
假设我们需要修改的是C2,
那么做出如下修改:
edit aa28b20 add NPOIExcel //C2 把pick改为edit
pick c8c01a0 add Hydraumatic project //C3
最后退出vim编辑器,使用wq退出
Successfully rebased and updated refs/heads/master.
然后使用git commit --amend
再使用git rebase --continue
p, pick = use commit
# r, reword = use commit, but edit the commit message
# e, edit = use commit, but stop for amending
# s, squash = use commit, but meld into previous commit
# f, fixup = like "squash", but discard this commit's log message
# x, exec = run command (the rest of the line) using shell
================文件回退操作========================
git log --oneline .a.txt
git reset 120a893 a.txt
git commit -m 'reset file xxxx'
//执行完这一步,你查看文件,还是没有改动,因为这个文件目前的状态时modify,也就是说,是受当前版本改动了的,你需要取消这些修改
git checkout -- xxxx
//(执行这个操作前,也可以使用 git stash 备份一下)
//执行完该命令后,查看文件,里面的内容就是历史版本的内容了
===================文件换成操作=====================
//此操作只针对已经add的文件进行缓存没有add不会缓存
git stash "work in progress for foo feature"
git stash list
gti stash save '描述信息'
git stash apply或pop stash@{1}
git stash drop stash@{1}
git stash clear
===================文件换成操作=====================
//此操作只针对已经add的文件进行缓存没有add不会缓存
git stash "work in progress for foo feature"
git stash list
gti stash save '描述信息'
git stash apply或pop stash@{1}
git stash drop stash@{1}
git stash clear
==========tag操作==========
git tag //查看tag
git tag test_tag c809ddbf83939a89659e51dc2a5fe183af384233 //在某个commit 上打tag
git push origin test_tag //!!!本地tag推送到线上
git tag -d test_tag //本地删除tag
git push origin :refs/tags/test_tag //本地tag删除了,再执行该句,删除线上tag