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   //查看生成的公钥,并复制
ssh-keygen -t rsa -C "xxx@xmail.com"   //生成秘钥

 

遇到的问题

解决办法如下:

    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

posted @ 2018-04-23 12:51  Cristina_Guan  阅读(368)  评论(0编辑  收藏  举报