msysgit
git ssh
1. 设置Git的user name和email:
$ git config --global user.name "lijian"
$ git config --global user.email "li_jian@gmail.com"
2. 生成SSH密钥
$ ssh-keygen -t rsa -C "myname@gmail.com"
按3个回车,密码为空。
最后得到了两个文件:id_rsa和id_rsa.pub 在目录 ~/.ssh/下面
3. 添加密钥到
$ ssh-add ~/.ssh/id_rsa
如果提示 Could not open a connection to your authentication agent 错误
先执行 eval `ssh-agent` (是~键上的那个`) 再执行 ssh-add ~/.ssh/id_rsa 成功
If you are using Git Bash, turn on ssh-agent:
$ ssh-agent -s
Agent pid 59566
If you are using another terminal prompt, such as msysgit, turn on ssh-agent:
$ eval $(ssh-agent -s)
Agent pid 59566
ssh-add -l 就有新加的rsa了
clip < ~/.ssh/id_rsa.pub
4. 测试
$ ssh -T git@github.com
$ ssh -T git@172.16.1.143
5.
git clone git@172.16.1.143:/project-name.git
git init
git add // git rm, git mv
git commit -m "some desp"
git push origin develop
git pull origin develop //git pull 相当于 git fetch && git merge
git remote add upstream git@172.16.1.143:new-project-name.git
git remote set-url origin git@172.16.1.143:new-project-name.git
git tag -a v0.2.9-www-stable -m "年前线上正常运行的稳定版"
git push origin -tags
git push -tags
//合并develop到master
git checkout master
git merge --no-ff develop
git push origin master
// git 私服 认证
1. ssh keys for sshgit
ssh-keygen -t rsa -C "li_jian@gozap.com"# Creates a new ssh key using the provided email
# Generating public/private rsa key pair...
Next just use code below to dump your public key and add to GitLab SSH Keys
cat ~/.ssh/id_rsa.pub
# ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc....
2. git clone
git clone git@ip:projectname.git
git init
3. create local branch "local-develop"
git checkout -b local-develop
4. add files
@local-develop
git status
git add .
git status
git commit -m 'first add project'
5. change to branch "origin/develop"
git checkout develop
6. merge
git merge local-develop // merger origin/develop with local-develop
7. check project if is right
8. git push origin/develop
第一次push必须这样写 git push origin master:master
git checkout -b local-develop //以master为源创建分支local-develop
git push origin local-develop:develop //创建远程分支
如果想把本地的某个分支test提交到远程仓库,并作为远程仓库的master分支,或者作为另外一个名叫test的分支,那么可以这么做。
$ git push origin test:master // 提交本地test分支作为远程的master分支
$ git push origin test:test // 提交本地test分支作为远程的test分支.
如果想删除远程的分支呢?类似于上面,如果:左边的分支为空,那么将删除:右边的远程的分支。
$ git push origin :test // 刚提交到远程的test将被删除,但是本地还会保存的,不用担心