gitlab与github同步代码

 

ssh和http的区别:https://blog.cuiyongjian.com/engineering/git-https-ssh/

本地分支和远程分支没有建立联系:

fatal: refusing to merge unrelated histories( git pull origin master)

git pull origin master --allow-unrelated-histories
 

gitlab上传--写代码必备


echo "# init" >> README.md
git init
git add .
git commit -m "init"
之后,去github上创建自己的Repository,点击NewRepository,

 

git remote add origin https://github.com/serenysdfg/-.git (和远程地址连接)

如果用ssh,要把http改成ssh的地址,如果是自己的服务器的gitlab,要把ip改成自己的服务器

git push -u origin master

 

fatal: 远程 origin 已经存在。

此时只需要将远程配置删除,重新添加即可;

git remote rm origin
git remote add origin  https://github.com/qinghua2016/test.git
git push -u origin master


其他常用操作

查看远程仓库

git remote -v

撤回commit

git reset --soft HEAD^

其他参数
--mixed :不删除工作空间改动代码,撤销commit,并且撤销git add . 操作
这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。


--soft  :不删除工作空间改动代码,撤销commit,不撤销git add . 

--hard:删除工作空间改动代码,撤销commit,撤销git add . 

注意完成这个操作后,就恢复到了上一次的commit状态。

如果commit注释写错了,只是想改一下注释,只需要:
git commit --amend

此时会进入默认vim编辑器,修改注释完毕后保存就好了。

 

#同时上传2个文件
$ git add file1.txt
$ git add file2.txt file3.txt
$ git commit -m "add 3 files."

#常用
$ git status
$ git diff readme.txt 
历史
$ git log
$ git log --pretty=oneline
回到上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。
 git reset --hard HEAD^

1.git init 
2.git config user.name "one" 
3.git config user.email "one@someplace.com" 
4.git add * 
5.git commit -m "msg"

git add . 或者 git add --all
最新的那个版本append GPL已经看不到了!好比你从21世纪坐时光穿梭机来到了19世纪,想再回去已经回不去了,肿么办?
办法其实还是有的,只要上面的命令行窗口还没有被关掉,你就可以顺着往上找啊找啊,找到那个append GPL的commit id是3628164...,于是就可以指定回到未来的某个版本:
$ git reset --hard 3628164
关掉后不知道id了:
$ git reflog

查看内容
$ cat readme.txt
丢弃工作区的修改:
$ git checkout -- readme.txt
add后commit前恢复,丢弃暂存区的修改::
$ git reset HEAD readme.txt

删除文件:
$ rm test.txt
在你有两个选择,一是确实要从版本库中删除该文件,那就用命令git rm删掉,并且git commit:
$ git rm test.txt
$ git commit -m "remove test.txt"
删错了
$ git checkout -- test.txt
远程
git remote add origin git@github.com:michaelliao/learngit.git
git push origin master  (很重要)
初始化
git bare init--
取消初始化
rm -rf .git

克隆
$ git clone git@github.com:michaelliao/gitskills.git


分支:
查看分支:$ git branch
创建分支并且切换到这里:$ git checkout -b dev   相当于
$ git branch dev  (创建)
$ git checkout dev  (回去)
修改后提交:
$ git add readme.txt 
$ git commit -m "branch test"
回到master分支		$ git checkout master
分支结果合并		$ git merge dev
删除分支:			$ git branch -d dev
两个分支都对文件有修改和提交:打开文件手动删除不需要的,用git log --graph命令可以看到分支合并图。

留下分支的历史不用fast forward方式合并
$ git merge --no-ff   -m "merge with no-ff" dev
$ git log --graph --pretty=oneline --abbrev-commit

有bug建立分支
临时保存未提交的分支:	$ git stash
创建临时分支:			$ git checkout -b issue-101  修改分支,合并结果,删除git branch -d issue-101

查看原来的工作现场: $ git stash list
恢复指定的stash:$ git stash apply stash@{0} 再drop
回到原来的未提交的分支:$git stash pop  相当于
$git stash apply
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值