gitlab 创建与 git 的使用

2016/05/16 Linux

  git 可以这么理解,就相当于本地的一个软件,这个软件是干什么用的呢?就是在本地对代码进行分布式管理,而 github 和 gitlab,就是一个远程的仓库,就像云盘一样,保证当你电脑熄火了,你的代码依然存在(远程仓库上), github 与 gitlab 的区别,对我而言比较有价值的是,gitlab 提供了免费的私人库的创建,这已经很爽了.

1.注册账户

  • gitlab 官网上先注册一个账户

2.本地配置git

  • 为了避免麻烦每次 push 代码都要输入账户名称和密码,我们需要再本地与远程仓库建立一个通信协议, ssh 协议

生成 sshkey

ssh-keygen -t rsa -C "$you@eamil"


  • 在这里生成秘钥是有一对儿的,正好作为通信的信物,一个私钥放在了 ~/.ssh/id_rsa 和一个公钥放在了 ~/.ssh/id_rsa_pub

把公钥配置的远程仓库上(github或gitlab)

  • 登陆 gitlab 依次点击Profile Settings –> SSH Keys –> Add SSH Keys, 把cat 拷贝过来保存就好了
cat ~/.ssh/id_rsa.pub

gitlab 上创建一个远程仓库

  • 点击 New project 创建一个远程仓库,依次键入工程名字,说明,以及开放级别,我做私人仓库用一般选第一个

create project

本地代码同步远程

add_project

  • 首先在本地配置下全局的 git 信息配置 –global 的意思是你的所有工程上传时候都用这一个信息
git config --global user.name "you name"
git config --global user.email "you@email"

  • 然后两种方式来同步,第一种:直接克隆你创建的仓库到本地.
git clone git@gitlab.com:xiaoxiaoyang/project.git
cd project
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master

  • 第二种是:扩展本地的仓库直接到你gitlab上新创建的仓库
cd existing_folder
git init
git remote add origin git@gitlab.com:xiaoxiaoyang/project.git
git add .
git commit
git push -u origin master

  • 到此本地代码同步到远程已经完成了

3.git基本使用

本地提交代码到远程仓库

  • 添加本地变动到本地仓库
git add .

  • 查看变动状态

git status

  • 添加变动说明
git commit -m "update code"

  • 推送到远程仓库(主分支)
git push origin master

更新远程仓库代码到本地


git pull origin master

本地创建分支进行开发

  • 本地创建一个叫做 dev 的分支
git checkout -b dev

  • 查看所处的分支(*表示现在所在的分支)

git branch

  • 切换到 dev 进行分支开发
git checkout dev 

  • 开发完后觉得很不错,就可以合并到主分支了
git checkout master
git merge dev

* 合并前可以看看分支与主分支的不同

git diff dev

  • 分支已经完成他的工作了也活到头了可以删除之
git branch -d test 

*有时候你想要删除的分支还没合并到其他分支去的画,就不能直接删除需要强制删除,使用 git branch -D

本地分支在远程保存一份

  • 切换到分支

git checkout dev
  • 添加分支内容到远程仓库
git add .
git commit -m "add dev branch"
git push origin dev

删除远程分支

  • 查看所有分支,找到想要删除的远程分支
git branch -a

  • 推送一个空分支(空格表示)到相应的远程分支,就等于删除
git push origin :dev

添加tag方法

  • 添加一个tag在本地

git tag -a v0.0.3 -m 'version 0.0.3'
  • push到远程仓库
git push origin --tags

删除tag方法

  • 查看tag

git tag
  • 删除本地tag
git tag -d tagname

  • 删除远程仓库tag
git push origin :refs/tags/tagname

忽略上传文件方法

  • 再根目录建立一个隐藏文件 .gitignore加入想要忽略的文件或目录
mkdir .gitignore
vim .gitignore
  • python 开发常忽略文件
#git ingore files use python developed
# Python:
*.py[cod]
*.so
*.egg
*.egg-info
dist
build

修改本地对应远程仓库地址

  • 如果你电脑配置了与远程仓库SSH通信,最好newurl使用SSH格式链接。
git remote set-url origin [newurl]

git push -u origin master

4. gitignore 中加入文件为什么没有被忽略?

  • 没有被忽略的原因是你在把文件加入 gitignore 之前,git 仓库就已经跟踪(track)这个文件了,所以在这只有加入这个文件是不起作用的,需要再git版本控制中移除对这个文件的track就行了

  • 解决办法一:直接移除对这个文件的跟踪

git rm --cached [filename(s)]

  • 解决办法二:直接再git本地仓库删除这个文件
git rm [filename(s)]

  • 解决办法三:让git不去检查这个文件的变化

git update-index --assume-unchanged [filename(s)]



  • 除非注明,本博文即为原创,转载请注明本博文链接地址
  • 本博文只用于分享和交流知识,不得转载商用或个人牟利
  • 如果您觉得文章对您有帮助,可以通过点击下面按钮分享

Search

    Post Directory