Git 远程协作

命令

clone fetch pull post

  • git clone https://github.com/coder352/test.git
  • 在远程项目中增加一个test.txt的文件,写入”add some texts”
  • cd test/
  • git fetch
  • git log –oneline –decorate –graph –all:显示当前分支没有指向fetch后的commit,需要更新
  • git merge origin/master:产生一个fastforword的merge
  • git lol:HEAD已经指向了最新的提交
  • vim test.txt:编辑本地文件,添加一行”add some local texts”
  • git add test.txt
  • git commit -m “add some local texts in test.txt”
  • 然后在github的项目中的test.txt中再添加”add some remote”,
  • git push:提示服务器有一些本地没有的历史记录,可能会覆盖
  • git pull:实际上是fetch 和 merge的合并,但是有冲突
  • vim test.txt:把不需要的数据删掉,保存起来
  • git add test.txt
  • git commit:不修改提交信息,直接退出,本地历史就是最新的
  • git push
  • 服务器上的和本地上的就相同了
  • 测试能分享的带注解的tag
  • git tag -a V0 -m”tag for v0”
  • git push:默认不把tag推送到远程仓库中的
  • git push –tags:就能把刚才创建的tag放到github上,并且能看到
  • 在远程仓库中创建一个新的分支:feacher,并且和master切换一下,最后切换回master
  • git pull:获取代码仓库最新的数据
  • 也可以用 git pull origin feacher:只更新feacher分支
  • 同样git fetch origin feacher:也可以,只是服务器有更新时,要手动merge一下
  • vim test.txt:添加一行”add some texts on master”
  • git add test.txt
  • git commit -m “add some texts on master”
  • git checkout feacher
  • git push origin master:将master分支单独提交到服务器上
  • 想把本地feacher分支删掉,然后把服务器上的feacher也删掉
  • git checkout master
  • git branch -d feacher:删掉分支,在本地
  • git push –delete origin feacher:删除服务器上的分支
  • 还有一种方式删除远程的分支
  • git push origin :feacher:推送一个空的分支替代服务器上的分支

相关设置

GitHub上fork项目

  • git checkout -b feature
  • vim test.txt:添加”add some feature texts”
  • git add test.txt
  • git commit -m “add some feature texts”

创建自己的Github项目 以shellscript为例

SSH keys

生成密钥对
  • cd ~/.ssh
  • ssh-keygen -t rsa -C “352111644@qq.com”
  • 提示输入一个保存key的路径,默认(/c/Users/Administrator/.ssh/id_rsa),修改为github_id_rsa,因为已经有Mininet的公钥占了
  • 提示输入密码,输入SSH的密码,而不是GitHub的登陆密码,可以相同,也可以再想一个新的密码,(可以不输入)
  • 确认密码
  • 用ssh-agent保存SSH登陆密码,这样就不用每次都输入密码
  • ssh-agent bash //先执行这句换,否则可能会报Could not open a connection to your authentication agent的 错误
  • //eval “$(ssh-agent -s)” //Linux输入
  • eval “ssh-agent -s” //Windows用户输入
  • ssh-add ~/.ssh/id_rsa
  • 输入SSH的密码,然后就保存起来了
添加公钥到你的github帐户
  • vim ~/.ssh/github_id_rsa.pub //将里面的keys放到github中即可
  • 验证下这个key是不是正常工作
  • ssh -T git@github.com 在项目仓库中输入
  • 输入SSH的密码
  • 显示”Hi code352! You have successfully authenticated”,就算完成了
修改你本地的ssh remote url. 不用https协议,改用git 协议
  • git remote -v 可以看到是https协议
  • 你可以使用浏览器登陆你的github,将下载链接那里的HTTPS改为SSH在上面可以看到你的ssh协议相应的url。类似如下:
  • git@github.com:coder352/shellscript.git
  • 这时,你可以使用 git remote set-url 来调整你的url
  • git remote set-url origin git@github.com:coder352/shellscript.git
  • git remote -v
  • 最好git clone 的时候就是用ssh的

上传Github

Init

  • 编写README.md
  • 编写.gitignore 下面是做简单的去除临时文件
*~
  • cd shellscript
  • git init
  • git config –global user.email “352111644@qq.com”
  • git config –global user.name “coder352”
  • git add . 全部文件git上去
  • git commit -m “first commit”
  • git remote add origin https://github.com/coder352/shellscript.git
  • git push -u origin master

update

  • 修改一些文件
  • git status 显示红色的修改还没添加到库
  • git add xx.md 将上面显示修改的文件重新添加一下
  • git status 显示绿色的还没commit
  • git push -u origin master

合作项目

clone 并查看分支

  • git clone …..
  • git branch 查看分支
  • git branch -a 查看远程分支
  • git branch jrp 创建新的分支
  • git checkout jrp 切换分支

Pull Request

  • fork 一个项目
  • clone 到本地
  • 修改,git push
  • push request
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值