您的位置:首页 > 其它

Git 远程协作

2016-01-04 11:31 295 查看

命令

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

echo “# jvim” >> README.md

git init

git add README.md

git commit -m “first commit”

git remote add origin https://github.com/coder352/jvim.git

git push -u origin master

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: