git

++++++++++++++++++++++++++++++++

GIT 学习手册

http://www.ihref.com/read-16369.html

 

1,Linux生成SSH密钥:ssh-keygen,创建rsa公钥,github设置写入id_rsa.pub

ssh-keygen -t rsa -C "name@email.com"

mac:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

位置:  ~/.ssh/id_rsa.pub

测试验证是否成功:ssh -T git@github.com

2,设置账户

git config --global user.name "username" //设置用户名

git config --global user.email "lokidri@outlook.com" //设置邮箱

3,同步

  • 若是已有某文件夹已经同步过github了,之后往里面新增了文件,想要把它添加到github的库中,只需要三步即可: 
      • git add
      • git commit -m “XXX”
      • git push -u origin master
  • 新建仓库完整过程: .
      • cd到上传的文件夹内
      • 先新建本地仓库:git init
      • 添加文件到本地仓库:git add .
      • 提交到本地库并备注,此时变更仍在本地:git commit -m “First commit”
      • git remote add origin https://github.com/XX/xx.git #本地与远程服务器关联(需要先在github上创建仓库)
      • git push -u origin master
  • 或者是先在本地创建仓库,再登录,与服务器建立认证协议。
cd myrepo 
git add .
git commit -a
git push origin master //使用用户名和密码
// 或者使用ssh
ssh-keygen -t rsa -C "myemail@email.com"
// rsa粘贴到github setting // The git remote set-url command changes an existing remote repository URL.
git remote set-url origin git@github.com:myusername/myrepo.git

 

 

4,创建和合并分支

#显示当前分支类别

  git branch

  #创建新分支

  git branch new-feature

  #切换到新分支

  git checkout new-feature

  git add

  #commit -a = add + commit

  git commit -a -m"mark"

  git push origin new-feature

  #合并进master

  git checkout master

  git merge new-feature

  git branch

  git push

 

  

----------------------------------

问题:

1. 怎么修改Git remote add时使用的远程仓库?

  • 1. 修改命令
  • git remote set-url origin URL
  • 2.先删后加
  • git remote rm origin 
  • git remote add origin git@github.com:xxx/xxx.git 
  • 3. 直接修改config文件

 

 

2. error:src refspec master does not match any
原因: 本地版本库为空, 空目录不能提交 (只进行了init, 没有add和commit就直接push)

 

+++++++++++++++++++++++++++++++++++++++++

pycharm中使用git


VCS>update project
  update type:  Merge\Rebase\Branch Default
  
Merge:


git stash: 备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中

git shelve doesn't exist in Git.

Only git stash:

when you want to record the current state of the working directory and the index, but want to go back to a clean working directory.

which saves your local modifications away and reverts the working directory to match the HEAD commit.

 

posted @ 2016-08-15 10:02  yhidr  阅读(239)  评论(0编辑  收藏  举报