1. 关于怎么创建一个主分支以外的分支,并且提交的代码也放在一个远程相同名字的分支?
//在本地创建一个新的分支
git branch dikang_branch
git branch -a //查看本地和远程的所有分支,remote分支会用红色标记
git push origin dikang_branch //将本地分支推送到远程,如果没有对应的远程分支就新建
git push --set-upstream origin dikang_branch
//本地新建一个分支后,必须要做远程分支关联。如果没有关联,git会在下面的操作中提示你显示的添加关联。关联目的是如果在本地分支下操作: git pull, git push ,不需要指定在命令行指定远程的分支
接下来你的任何操作git push都会push到dikang_branch
2. 删除一个远程分支使用
git push origin -- delete <branchName>
或者git push origin :<branchName>
(推送一个空分支到远程分支,其实就相当于删除远程分支:)
3. 查看origin远程分支的详细信息
git remote show origin
4. 查看远程分支以及分支下最新的提交
git branch -av
5. 查看端口并且解除占用
netstat -tunpl
kill -9 (pid)
6. 怎么在本地也克隆一个远程的git项目:
+ 打开git bash
,mkdir xxx && cd xxx
git init
git config --global user.name 'Andyliwr'
git config --gloabl user.email '121960425@qq.com'
git remote add -f -t master -m master origin https://github.com/Andyliwr/blog.git
git merge origin
7. 克隆一个远程项目的时候如果发生权限错误怎办?
解决方案:
+ 首先看本地有没有ssh key(一般在/c/Users/Andyliwr/.ssh/id_rsa.pub
中)
+ 如果没有的话使用 ssh-keygen -t rsa -C "lidikang@idwzx.com"
创建一个
+ 然后用编辑器打开/c/Users/Andyliwr/.ssh/id_rsa.pub
,复制里面的内容到git stash或者github网站把ssh key添加进去。
8. 怎么利用git stash快速保存已经修改的内容,在处理完其他的事情再还原回来。
# ... hack hack hack ...
$ git stash
$ edit emergency fix
$ git commit -a -m "Fix in a hurry"
$ git stash pop //或者git stash list查看所有stash,然后git stash apply <stash name>指定使用哪个stash
# ... continue hacking ...
9. 如果你你正在修改代码,但是现在有个很重要的更新你需要pull,为了避免冲突你可以使用:
git stash save 'save-message'
$ git pull
$ git stash pop
10.今天git又前进了一大步:
+ 图形化查看提交记录
git log --graph --oneline --decorate
执行git config --global alias.lol "log --pretty=oneline --abbrev-commit --graph --decorate
能让你以后只需要执行git lol
就可以树形查看提交记录
+ 已经add但是未提交,怎么查看修改的代码
git diff --cached
+ 比git diff
更为强大的git show
git show可以查看某次的代码修改及时已经提交了。git show HEAD^
查看最近一次修改的代码,git show HEAD^^
查看最近两次修改的代码
11. 在github.com上 建立了一个小项目,可是在每次push 的时候,都要输入用户名和密码,很是麻烦
原因是使用了https方式 push在terminer里边 输入 git remote -v
,可以看到形如一下的返回结果
origin https://github.com/yuquan0821/demo.git (fetch)
origin https://github.com/yuquan0821/demo.git (push)
下面把它换成ssh方式的。
git remote rm origin
git remote add origin git@github.com:yuquan0821/demo.git
git push origin
12. 怎么回退本地和远程的提交
git reset --hard commit_id(可用 git log –oneline 查看) ###本地代码回退
git reset --hard HEAD^ //回退一次提交
git push origin HEAD --force ###远程提交回退
14. git重命名分支:
git branch -m devel develop
15.Refspec matches more than one
当你push分支的时候出现这样的错误:
$ git push origin master
error: src refspec master matches more than one.
error: failed to push some refs to 'ssh://user@host/srv/git/repo
这是因为当前git项目存在和你当前分支名一样的tag版本,如果不必要删掉就好了。
$ git tag
master
tag1
tag2
tag3
tag4
tag -d master