Git常用命令及常见问题解决
$ mkdir xxx ----创建xxx目录
$ cd learngit ----切到xxx目录下
$ pwd ----查看当前文件所在目录
$ git init ----通过git init命令把这个目录变成Git可以管理的仓库
$ git add xxx ----把xxx文件添加到仓库[或者把所有文件添加到仓库, git add . ]
$ git commit -m
"wrote a readme file" ----把文件提交到仓库,并写上提交说明
$ git status ---- 查看仓库当前的状态
$ git diff ----查看被修改的文件内容
$ git log -----显示从最近到最远的提交日志
$ git reset --hard HEAD^ -----把当前版本“bbb”回退到上一个版本“aaa”
$ git reflog ----用来记录你的每一次命令
$ git checkout -- file -----让这个文件回到最近一次git commit或git add时的状态
$ git remote add origin git@server-name:path/repo-name.git ----关联一个远程库
$ git push -u origin master ----推送master分支的所有内容
遇到的问题:
解决办法:
ssh -T git@github.com 查看是否有公钥
ssh-keygen -t rsa -C "xxx@xmail.com" 生成公钥 (邮箱是你github注册的邮箱)
切换到当前目录:
bogon:~ yan$ ls -all |
bogon:~ yan$ cd .ssh/ |
bogon:.ssh yan$ ls -al |
bogon:.ssh yan$ cat id_rsa.pub //查看生成的公钥,并复制
|
遇到的问题
解决办法如下:
1、先输入$ git remote rm origin
2、再输入$ git remote add origin git@github.com:[YourGitHubName]/learnaboutgit.git 就不会报错了!
$ git clone git@github.com:yourname/gitskills.git ----克隆一个本地库
$ git checkout -b dev ----创建一个名为dev的分支并切换到dev
$ git branch ----查看当前分支
$ git merge dev ----合并指定的dev分支到当前分支上
$ git branch -d dev ----删除分支dev
$ git log --graph ----查看分支合并图。
$ git merge --no-ff -m "merge with no-ff" dev ----[合并dev分支,--no-ff参数表示禁用Fast forward]
$ git stash list ----把当前工作现场“储藏”起来并查看存储信息
$ git stash apply ----恢复存藏的内容
$ git stash drop ----删除存藏的内容
$ git stash pop ----恢复的同时把stash内容也删了
$ git branch -D feature-vulcan ----强行删除分支feature-vulcan
$ git remote ----查看远程库的信息
$ git remote -v ----显示远程库更详细的信息
$ git checkout -b dev origin/dev ----创建本地dev分支
$ git pull ----把最新的提交从origin/dev抓下来
推送失败,因为你的小伙伴的最新提交和你试图推送的提交有冲突,解决办法也很简单,Git已经提示我们,先用git pull把最新的提交从origin/dev抓下来,然后,在本地合并,解决冲突,再推送
$ git branch --set-upstream dev origin/dev ----设置dev和origin/dev的链接
$ git push origin master ----推送master分支,推送时,要指定本地分支
$ git branch --set-upstream dev origin/dev
如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name。
$ git tag <name> ----打一个新标签
$ git tag ----查看所有标签
$ git log --pretty=oneline --abbrev-commit ----找到历史提交的commit id
$ git show <tagname> ----查看标签信息
$ git tag -a v0.1 -m "version 0.1 released" 3628164 ----创建带有说明的标签,用-a指定标签名,-m指定说明文字
$ git tag -s <tagname> -m "blablabla..." ----可以用PGP签名标签
$ git tag -d v0.1 ----删除标签
$ git push origin <tagname> ----推送某个标签到远程
$ git push origin --tags ----一次性推送全部尚未推送到远程的本地标签
$ git push origin :refs/tags/v0.9 ----删除远程标签
$ git remote rm origin ----删除已有的GitHub远程库
$ git remote add github git@github.com:youname/仓库名.git ----与github远程库关联
$ git remote add gitee git@gitee.com:yourname/仓库名.git ---- 与码云远程库关联
$ git push github master ----推送到GitHub
$ git push gitee master ----推送到码云
$ git config --global alias.st status ----配置简单别名
把本地项目推送到远程:
1、(先进入项目文件夹)通过命令 git init 把这个目录变成git可以管理的仓库
git init
2、把文件添加到版本库中,使用命令 git add .添加到暂存区里面去,不要忘记后面的小数点“.”,意为添加文件夹下的所有文件
git add .
3、用命令 git commit告诉Git,把文件提交到仓库。引号内为提交说明
git commit -m 'first commit'
4、关联到远程库
git remote add origin 你的远程库地址
如:
git remote add origin https://github.com/cade8800/ionic-demo.git
5、获取远程库与本地同步合并(如果远程库不为空必须做这一步,否则后面的提交会失败)
git pull --rebase origin master
6、把本地库的内容推送到远程,使用 git push命令,实际上是把当前分支master推送到远程。执行此命令后会要求输入用户名、密码,验证通过后即开始上传。
git push -u origin master
*、状态查询命令
git status
(转载或复制请标明出处,谢谢!)
参考http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html
作者:cristina-guan
博客地址:http://www.cnblogs.com/cristina-guan/
github地址:https://github.com/CristinaGuan
注:转载请注明出处,尊重别人的劳动成果,谢谢!
博客地址:http://www.cnblogs.com/cristina-guan/
github地址:https://github.com/CristinaGuan
注:转载请注明出处,尊重别人的劳动成果,谢谢!