ssh-keygen -t rsa -b 4096 -C "your_email@example.com
/User/mac/.ssh/id_rsa
文件夾。而後繼續下一步就好了。可是,若是要放在另外的文件夾怎麼處理了?.ssh
Host github.com
HostName github.com
User haimingyue
PreferredAuthentications publickey
IdentityFile /myproject/ssh/github_key
複製代碼
當我clone的時候,發現github報權限過大錯誤以下:git
chmod -R 700 /myproject/ssh/*
到這裏就能夠clone啦。github
git remot擴展redis
git init
// 生成.git文件,這個文件存放全部文件的快照
git add test.txt 放入緩存
git commit -m "first-comiit" // 拍快照
git status 查看緩存
git remote add origin git@github.com:haimingyue/learngit-simoon.git
git push origin master
複製代碼
git remote add origin1 git@github.com:haimingyue/learngit-simoon1.git
git push origin origin1
複製代碼
git reflog 包括全部的提交、刪除、切換分支的記錄sql
應用場景: 某一個分支工做沒有完成,須要切換到另一個分支,就先git stash 緩存起來。切過去完成工做,切回這個分支,再git stash reply 恢復這些文件。docker
master ---> pre-production ---> production緩存
主分支 ---> 預發佈版本 ---> 發佈版本bash
流程: Bug --> new branch -->master --> pre-production --> productioncomposer
流程: master --> Stable --> new Branch --> bug fix --> versiondom
git branch
: 查看分支,當前處在哪一個分支ssh
git branch dev
: 新增一個分支
git branch dev -D
: 刪除一個分支
git checkout -d dev
: 複製代碼,新建dev分支,而且切換到dev分支
git pull
= git fetch
+git merge
git fetch
: 查看遠程代碼與本地有什麼不同
git fetch origin feature:dev1
: 把遠程feature的分支合併dev1分支, 若是dev1不存在,就自動新建一個分支。
從dev1
切換到 dev
分支以後,git merge dev1
: dev1
的代碼就會合併到dev
分支
git reset --hard head^
: 回退到上一次提交
git reflog
: 查看提交記錄
git reset --hard 6d89c38(哈希值)
: 回退到這個hash對應的更改
前提: 假設有3個分支,開發分支feature
, 預發佈分支dev
, 生產環境master
git checkout dev // 切換到dev分支
get merge feature // 合併代碼到dev分支
git checkout master // 切換到master
git merge master // 合併代碼
複製代碼
git tag v1.0.0
git push origin master --tag
git tag -d v1.0.0 刪除
git push origin :refs/tags/v1.0.0 刪除遠程的v1.0.0的tag
git push origin :feature 刪除遠程分支
git checkout -D feature 刪除本地分支
git reset HEAD 文件名 // 取消暫存
git checkout --文件名 // 刪除工做區修改的文件內容
複製代碼
sudo docker run --detach(後臺運行) \
--hostname gitlab.example.com(指定域名) \
--publish 443:443(https協議) --publish 80:80(默認訪問端口) --publish 22:22(可能倉庫的端口) \
--name gitlab(指定鏡像名稱) \
--restart always(數據隱射宿主機) \
--volume /srv/gitlab/config:/etc/gitlab \
--volume /srv/gitlab/logs:/var/log/gitlab \
--volume /srv/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
複製代碼
version: '2'
services:
redis:
restart: always
image: sameersbn/redis:4.0.9-2
command:
- --loglevel warning
volumes:
- redis-data:/var/lib/redis:Z !這一行修改 /home/lib/redis:Z
postgresql:
restart: always
image: sameersbn/postgresql:10-2
volumes:
- postgresql-data:/var/lib/postgresql:Z !這一行修改 /home/lib/postgresql:Z
environment:
- DB_USER=gitlab
- DB_PASS=password
- DB_NAME=gitlabhq_production
- DB_EXTENSION=pg_trgm
gitlab:
restart: always
image: sameersbn/gitlab:12.4.0
depends_on:
- redis
- postgresql
ports:
- "10080:80"
- "10022:22"
volumes:
- gitlab-data:/home/git/data:Z
environment:
- DEBUG=false
- DB_ADAPTER=postgresql
- DB_HOST=postgresql
- DB_PORT=5432
- DB_USER=gitlab
- DB_PASS=password
- DB_NAME=gitlabhq_production
- REDIS_HOST=redis
- REDIS_PORT=6379
- TZ=Asia/Kolkata
- GITLAB_TIMEZONE=Kolkata
- GITLAB_HTTPS=false
- SSL_SELF_SIGNED=false
- GITLAB_HOST=localhost
- GITLAB_PORT=10080
- GITLAB_SSH_PORT=10022
- GITLAB_RELATIVE_URL_ROOT=
- GITLAB_SECRETS_DB_KEY_BASE=long-and-random-alphanumeric-string
- GITLAB_SECRETS_SECRET_KEY_BASE=long-and-random-alphanumeric-string
- GITLAB_SECRETS_OTP_KEY_BASE=long-and-random-alphanumeric-string
- GITLAB_ROOT_PASSWORD= !本身的密碼
- GITLAB_ROOT_EMAIL= !本身的郵箱
- GITLAB_NOTIFY_ON_BROKEN_BUILDS=true
- GITLAB_NOTIFY_PUSHER=false
- GITLAB_EMAIL=notifications@example.com
- GITLAB_EMAIL_REPLY_TO=noreply@example.com
- GITLAB_INCOMING_EMAIL_ADDRESS=reply@example.com
- GITLAB_BACKUP_SCHEDULE=daily // 備份週期
- GITLAB_BACKUP_TIME=01:00
- GITLAB_BACKUP_EXPIRY=64800 // 備份7天內容
- SMTP_ENABLED=false
- SMTP_DOMAIN=www.example.com
- SMTP_HOST=smtp.gmail.com
- SMTP_PORT=587
- SMTP_USER=mailer@example.com
- SMTP_PASS=password
- SMTP_STARTTLS=true
- SMTP_AUTHENTICATION=login
- IMAP_ENABLED=false
- IMAP_HOST=imap.gmail.com
- IMAP_PORT=993
- IMAP_USER=mailer@example.com
- IMAP_PASS=password
- IMAP_SSL=true
- IMAP_STARTTLS=false
- OAUTH_ENABLED=false
- OAUTH_AUTO_SIGN_IN_WITH_PROVIDER=
- OAUTH_ALLOW_SSO=
- OAUTH_BLOCK_AUTO_CREATED_USERS=true
- OAUTH_AUTO_LINK_LDAP_USER=false
- OAUTH_AUTO_LINK_SAML_USER=false
- OAUTH_EXTERNAL_PROVIDERS=
- OAUTH_CAS3_LABEL=cas3
- OAUTH_CAS3_SERVER=
- OAUTH_CAS3_DISABLE_SSL_VERIFICATION=false
- OAUTH_CAS3_LOGIN_URL=/cas/login
- OAUTH_CAS3_VALIDATE_URL=/cas/p3/serviceValidate
- OAUTH_CAS3_LOGOUT_URL=/cas/logout
- OAUTH_GOOGLE_API_KEY=
- OAUTH_GOOGLE_APP_SECRET=
- OAUTH_GOOGLE_RESTRICT_DOMAIN=
- OAUTH_FACEBOOK_API_KEY=
- OAUTH_FACEBOOK_APP_SECRET=
- OAUTH_TWITTER_API_KEY=
- OAUTH_TWITTER_APP_SECRET=
- OAUTH_GITHUB_API_KEY=
- OAUTH_GITHUB_APP_SECRET=
- OAUTH_GITHUB_URL=
- OAUTH_GITHUB_VERIFY_SSL=
- OAUTH_GITLAB_API_KEY=
- OAUTH_GITLAB_APP_SECRET=
- OAUTH_BITBUCKET_API_KEY=
- OAUTH_BITBUCKET_APP_SECRET=
- OAUTH_SAML_ASSERTION_CONSUMER_SERVICE_URL=
- OAUTH_SAML_IDP_CERT_FINGERPRINT=
- OAUTH_SAML_IDP_SSO_TARGET_URL=
- OAUTH_SAML_ISSUER=
- OAUTH_SAML_LABEL="Our SAML Provider"
- OAUTH_SAML_NAME_IDENTIFIER_FORMAT=urn:oasis:names:tc:SAML:2.0:nameid-format:transient
- OAUTH_SAML_GROUPS_ATTRIBUTE=
- OAUTH_SAML_EXTERNAL_GROUPS=
- OAUTH_SAML_ATTRIBUTE_STATEMENTS_EMAIL=
- OAUTH_SAML_ATTRIBUTE_STATEMENTS_NAME=
- OAUTH_SAML_ATTRIBUTE_STATEMENTS_USERNAME=
- OAUTH_SAML_ATTRIBUTE_STATEMENTS_FIRST_NAME=
- OAUTH_SAML_ATTRIBUTE_STATEMENTS_LAST_NAME=
- OAUTH_CROWD_SERVER_URL=
- OAUTH_CROWD_APP_NAME=
- OAUTH_CROWD_APP_PASSWORD=
- OAUTH_AUTH0_CLIENT_ID=
- OAUTH_AUTH0_CLIENT_SECRET=
- OAUTH_AUTH0_DOMAIN=
- OAUTH_AUTH0_SCOPE=
- OAUTH_AZURE_API_KEY=
- OAUTH_AZURE_API_SECRET=
- OAUTH_AZURE_TENANT_ID=
volumes:
redis-data:
postgresql-data:
gitlab-data:
複製代碼
docker-composr up -d
命令看到下圖,就完成了。
.gitignore generator