一:git的一些命令:
defaults write com.apple.finder AppleShowAllFiles -bool true 此命令显示隐藏文件
defaults write com.apple.finder AppleShowAllFiles -bool false 此命令关闭显示隐藏文件
ls -a 查看所有文件包括隐藏
rm -rf 删除文件
vi +文件名 编辑文件如果没有回创建文件
git add -A
git commit -m "update shareSDK and setView “
git rebase -i origin/master master
git reset —hard 未提交的那些代码全部不要返回到初始状态
git reset --hard 94ebb93c695ec7c7d04940e7592813235f29ee99
git reset --hard head^退回上一个版本
git diff ContractsPortal/ContractsPortal/ViewController/ViewController.m 看这个。m文件都改了些啥。
git log查看历史修改纪录
git log --pretty=oneline简易查看修改纪录
git reflog 查看历史版本号和修改内容
git checkout –-readme.txt 意思就是,把readme.txt文件在工作区做的修改全部撤销(git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。
),这里有2种情况,如下:
1.readme.txt自动修改后,还没有放到暂存区,使用 撤销修改就回到和版本库一模一样的状态
2.另外一种是readme.txt已经放入暂存区了,接着又作了修改,撤销修改就分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。
git rebase --continue
git pull origin master 重远端拉代码
git remote -v显示更详细的信息
git rebase -i origin/master dev 在dev分支上操作把dev合并到master上 有可能会有冲突,这是解决冲突 解决完了之后git rebase --continue 然后就可以push
sudo rm -r .git //删除 git仓库
git remote rm origin 删除url
git remote add origin git@172.172.2.3:repositories/TYKFNew.git 重建url
github 无法push 进入.git中的config文件把url=+用户名就好例如:
Zc_zhou@192.168.1.107:/Users/apple/Desktop/testGit/zhou.git
AppletekiMacBook-Pro:ee apple$ git remote add origin git@localhost:repositories/ee.git
AppletekiMacBook-Pro:ee apple$ git push -u origin master
sudo rm -r .git //删除 git仓库
进入git管理(在外目录下)cd gitosis-admin/
vi gitosis.conf(添加配置,添加完药add commit)
二:git的快捷键设置:
$ git config --global alias.co checkout
$ git config --global alias.ci commit
$ git config --global alias.br branch
$ git config --global alias.unstage 'reset HEAD'
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
在apple$下输入vi .gitconfig 设置快捷键 例如:(shift+a 进入编辑模式,esc退出编辑模式,shift+:输入x执行操作)
[user]
name = zc_zhou
email = zhoucheng35435@163.com
[alias]
rb = rebase
ft = fetch
ci = commit
ai = add -A
rh = reset --hard
st = status
三:分支的使用
>1.常用分支操作命令
查看分支:git branch
创建分支:git branch name
切换分支:git checkout name
创建+切换分支:git checkout –b name
合并某分支到当前分支(默认是用 fast forward):git merge name
删除分支:git branch –d name
删除为合并的分支(强删):git branch -D name
看到分支合并图:git log --graph
合并分支时显示合并信息(用非fast forward):git merge --no-ff -m "merge with no-ff" name
>2.BUG分支
可以把当前工作现场“储藏”起来(用git status查看工作区,就是干净的(除非有没有被Git管理的文件)):git stash
看"储藏"了多少东西:git stash list
恢复工作区2中方法:
恢复后,stash内容并不删除 :git stash apply
恢复的同时把stash内容也删了:git stash pop
>3推送分支
查看远程库信息,使用:git remote -v
推送远程: git push origin +分支名
新克隆项目一般只有master分支,你的小伙伴要在dev分支上开发,就必须创建远程origin的dev分支到本地,于是他用这个命令创建本地dev分支:git checkout -b name origin/name
如果没有指定本地dev分支与远程origin/dev分支的链接,输入关联:git branch --set-upstream name origin/name
四:标签的使用
创建一个标签,在某个分支下面输入:git tag v1.0;
查看所有标签:git tag
显示标签:git show v1.0;
根据commit id 来添加标签:git tag v1.0 6227733;(查看commit id :git log --pretty=oneline --abbrev-commit)
创建带有说明的标签,用-a
指定标签名,-m
指定说明文字:git tag -a v1.0 -m"version 1.0" 234234
删除标签:git tag -d v1.0
把标签推送到远程:git push origin v1.0 或者git push origin --tags(全部推送)
删除已经推送到远程的标签分2步:1:删除本地:git tag -d v1.0 。2:删除远程:git push origin :refs/tags/v1.0