Git常用指令大全
Mac关机指令:sudo shutdown -h now
Homebrew方式安装Git
1、/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2、brew install git
用命令行方式查看目录
pwd ls ls -ah cd cd ..
新建文件夹&文件
mkdir touch
查看&编辑文件
cat vim i :wq
删除文件
rm test.txt
配置Git仓库的user name 和 user email
git config --system --list
git config --global --list
git config --local --list
git config --global user.name " "
git config --global user.email " "
把某个目录变成Git仓库
git init
添加&提交文件到本地仓库
git add .
git commit -m " "
撤销add
git reset HEAD 如果后面什么都不跟的话 就是上一次add 里面的全部撤销了
git reset HEAD XXX/XXX/XXX.java 就是对某个文件进行撤销了
查看当前没有add的内容
git diff
查看当前暂存区的内容(已经add,可以commit的内容)
git status
查看仓库的commit记录
git log
git log --pretty=oneline (精简模式)
版本回退:本地回退&远程回退(https://www.cnblogs.com/qlqwjy/p/8179684.html)
1、本地仓库回滚直接用reset(版本是向后的,--hard当前的修改会丢失,--soft当前的修改不丢失且这些修改是已经add过的状态)
git reset --hard commit_id //回滚到指定commit_id
2、公共分支回滚用revert,然后commit、push(当前的修改仍然存在,需手动删除,然后push,其他成员pull即可完成,虽然代码回退了,但版本是向前的)
git revert 0ffaacc //撤销0ffaacc这次commit(注意:0ffaacc是目标版本的前一个版本)
git revert HEAD //撤销最近一次commit
git revert HEAD~1 //撤销上上次的commit,注意:数字从0开始
Git放弃本地修改(https://www.cnblogs.com/qufanblog/p/7606105.html)
git checkout .
git checkout -- readme.txt
查看远程库信息
git remote -v;
把已有的本地仓库跟远程仓库关联
git remote add origin git@github.com:michaelliao/learngit.git
删除关联的远程仓库
git remote rm origin
普通git的push操作
git push origin master
如果使用了Gerrit的push操作
git push origin HEAD:refs/for/master
从远程仓库克隆(Git支持多种协议,默认的git://使用ssh,但也可以使用https等其他协议)
git clone git@github.com:michaelliao/gitskills.git
.DS_Store文件冲突解决办法:(https://www.jianshu.com/p/46f22a29b78d)
删除项目中.DS_Store文件,禁止其自动生成,添加到.gitignore
分支创建与合并
查看分支:git branch
查看远程分支:git branch -r
创建分支:git branch <name>
切换分支:git checkout <name>或者git switch <name>
创建+切换分支:git checkout -b <name>或者git switch -c <name>
合并某分支到当前分支:git merge <name>
合并分支:(会生成一个新的commit记录)git merge --no-ff -m "merged bug fix 101" <name>
删除分支:git branch -d <name>
删除一个没有被合并过的分支:git branch -D <name>
将新分支推送到远程仓库:git push origin <name>
删除远程仓库的某个分支:git push origin :<name>
从本地推送分支,使用git push origin branch-name,如果推送失败,先用git pull抓取远程的新提交;
在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;
建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name
保存工作现场
git stash list
git stash
git stash pop
git stash apply stash@{0} 恢复指定的stash
复制一个特定的commit到当前分支
git cherry-pick 4c805e2
打标签
命令git tag <tagname>用于新建一个标签,默认为HEAD,也可以指定一个commit id;
命令git tag -a <tagname> -m "blablabla..."可以指定标签信息;
命令git tag可以查看所有标签。
命令git push origin <tagname>可以推送一个本地标签到远程仓库;
命令git push origin --tags可以推送全部未推送过的本地标签;
命令git tag -d <tagname>可以删除一个本地标签;
命令git push origin :refs/tags/<tagname>可以删除一个远程标签。
配置别名,简化git命令
git config --global alias.st status