摘要:終端提示注意對生成定的秘鑰進行重命名輸入名稱。如果某些文件已經被納入了版本管理中,則修改是無效的。
簡述
Git 是目前很流行的版本控制工具,很多開發(fā)團隊在使用。本人也在使用這個工具,發(fā)覺相比于傳統(tǒng)的SVN,確實好用很多,而且它還有很大的自由屬性,這一點深得我的欣賞。這次的分享主要是分享關于Git的基礎,關于本地倉庫的基本操作。(不懂本地倉庫的概念可以上網查一些關于 Git 的代碼倉庫的知識)
Git基本原理圖 Git基礎操作配置用戶名和郵箱 :
// 全局配置 $ git config --global user.name "Your Name" $ git config --global user.email "[email protected]"http:// 一次性配置 $ git config user.name "Your Name" $ git config user.email "[email protected]"
創(chuàng)建版本庫:
// 創(chuàng)建本地倉庫目錄 $ mkdir [local_repository_name] // 進入創(chuàng)建的目錄 $ cd [local_repository_name] // 初始化當前目錄為Git本地倉庫 $ git init // 新建一個目錄,將其初始化為 Git 代碼庫(與上面三個命令等價) $ git init [project-name] // 下載一個項目和它的整個代碼歷史 $ git clone [url]
添加到本地暫存區(qū)(Index / Stage):
// 添加當前目錄的所有文件到暫存區(qū) $ git add . // 添加指定文件到暫存區(qū) $ git add [file1] [file2] ... // 添加指定目錄到暫存區(qū),包括子目錄 $ git add [dir]
添加到本地倉庫(Repository):
$ git commit -m "[Your update information]"
版本回退:
// 回到當前版本 $ git reset --hard HEAD // 回退一個版本 $ git reset --hard HEAD^ // 回退連個版本 $ git reset --hard HEAD^^ // 回退N個版本 $ git reset --hard HEAD~N // 回退任意版本 $ git reset --hard [commit_id]
起別名 :
// 起別名語法 $ git config alias.[new_name] "[old_name]" // cimmit起別名 $ git config alias.ci commit 給 commit 起一個別名叫 ci // "commit -m"起別名 $ git config alias.ci "commit -m" 給commit起個別名 ci // 喪心病狂的給 git log 起一個NB的別名 $ git config --global alias.lg "log --color --graph --pretty=format:"%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset" --abbrev-commit"Git分支與合并操作
重命名本地分支 :
$ git branch -m [old__branch_name] [new_branch_name]
切換本地分支 :
$ git checkout [branch_name]
創(chuàng)建分支 :
$ git branch [branch_name]
查看分支 :
// 1. 查看所有分支 $ git branch -a // 2. 查看本地分支 $ git branch // 3. 所有遠程分支 $ git branch -r
推送本地分支[local-branch]到遠程分支[remote-branch]并建立關聯(lián)關系 :
// 1. 遠程已有分支,并且已經關聯(lián)本地分支且本地已經切換到要推送的分支 $ git push // 2. 遠程已有分支,但未關聯(lián)本地分支且本地已經切換到要推送的分支 $ git push -u origin/[remote-branch] // 3. 遠程沒有分支并,本地已經切換到要推送的分支 $ git push origin [local-branch]:[remote-branch]
刪除分支:
// 刪除本地分支 $ git branch -d [branch-name] // 刪除遠程分支 $ git push origin --delete [branch-name]
合并某分支到當前分支:
git merge [name]
三、Git標簽操作
查看標簽tag:
// 列出所有 tag $ git tag // 查看 tag 信息 $ git show [tag name]
新建標簽tag:
// 新建一個 tag 在當前 commit id $ git tag [tag name] // 新建一個 tag 在指定 commit id $ git tag [tag name] [commit id] // 新建一個分支,指向某個 tag $ git checkout -b [branch] [tag]
提交標簽tag:
// 提交指定標簽到遠程 $ git push origin [tag] // 提交所有 tag $ git push origin --tags
新建標簽tag:
// 刪除本地倉庫標簽 $ git tag -d [tag name] // 刪除遠程倉庫標簽 $ git tag -d [tag name] // 先刪除本地 $ git push origin :refs/tags/[tag name]// 刪除遠程Git遠程倉庫配置
生成本地rsa秘鑰:
// 1. github/gitlab 生成rsa 的命令 $ ssh-keygen -t rsa -C "注冊的github(gitlab)郵箱" // 2. coding/gitCafe 生成rsa 的命令 $ ssh-keygen -t rsa -b 4096 -C "[email protected]"
1 根據(jù)不同平臺終端執(zhí)行上面命令,Enter。 2 終端提示Enter file in which to save the key (/Users/Macro/.ssh/id_rsa): 3 注意,對生成定的秘鑰進行重命名,輸入名稱:name_rsa,Enter。 4 然后輸入密碼 密碼可以為空(推薦為空),Enter。
獲取本地rsa秘鑰:
$ open name_rsa.pub // 或者 $ cat name_rsa.pub 復制私鑰添加到對應平臺的 sshkey 中
多平臺賬號配置:
$ cd ~/.ssh $ touch config 按照以下格式添加配置文件 Host git.coding.net // host網址 User [email protected] // 用戶郵箱 PreferredAuthentications publickey // 不變 IdentityFile ~/.ssh/coding_rsa // 生成的非默認地址的公鑰存放點
檢測是否連接成功:
$ ssh -T [email protected] // github $ ssh -T [email protected] // gitlab $ ssh -T [email protected] // coding.gitignore 規(guī)則
在git中如果想忽略掉某個文件,不讓這個文件提交到版本庫中,可以使用修改根目錄中 .gitignore 文件的方法(如無,則需自己手工建立此文件)。
這個文件每一行保存了一個匹配的規(guī)則例如:
# 此為注釋 – 將被 Git 忽略 *.a # 忽略所有 .a 結尾的文件 !lib.a # 但 lib.a 除外 /TODO # 僅僅忽略項目根目錄下的 TODO 文件,不包括 subdir/TODO build/ # 忽略 build/ 目錄下的所有文件 doc/*.txt # 會忽略 doc/notes.txt 但不包括 doc/server/arch.txt
有時候在項目開發(fā)過程中,突然心血來潮想把某些目錄或文件加入忽略規(guī)則,按照上述方法定義后發(fā)現(xiàn)并未生效,原因是.gitignore只能忽略那些原來沒有被track的文件。
如果某些文件已經被納入了版本管理中,則修改.gitignore是無效的。
那么解決方法就是先把本地緩存刪除(改變成未track狀態(tài)),然后再提交:
git rm -r --cached . git add . git commit -m "update .gitignore"
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://systransis.cn/yun/21709.html
摘要:關于首先是一種網絡協(xié)議,用于計算機之間的加密登錄。第二種級別是基于公開密匙加密機制的安全驗證。前者是私鑰,注意保管,后者是公鑰如下添加到登錄之后。 簡述 什么是 Git 的 ssh key?這個問題其實我也很困惑,所以我才專門分享這篇關于 ssh key 的文章,著重分析了解什么是 ssh key,它有什么用,怎么能用好它?本文主要由從網上收集資料加上自己的經驗匯總而成的經驗干貨,可以...
摘要:集群環(huán)境的部署方式使用集群管理工具通過版本新增文件實現(xiàn)滾動升級容器等同于應用的部署 1. 思路&流程 Jenkins集成Docker鏡像實現(xiàn)自動發(fā)布與Jenkins發(fā)布mavne項目思路一樣總體流程 為:Jenkins 拉去遠端源碼 —— gitl實現(xiàn)應用打包 —— jenkins本地把應用程序打包進Docker鏡像 ...
摘要:基于的跨平臺筆記軟件為什么自從工作之后我開始進行筆記記錄這是一個很棒的習慣我曾經使用過麥庫等都是一些不錯的筆記軟件但是都有一些各式各樣的問題不能滿足我的使用年我用編寫了第一款筆記軟件支持和富文本編輯器但是沒有云同步功能年我用和編寫了一個編輯 GitNote 基于 Git 的跨平臺筆記軟件 為什么 自從工作之后,我開始進行筆記記錄,這是一個很棒的習慣.我曾經使用過 EDiary Ever...
摘要:如果實在不會安裝可以去網上找教程。打開,跳轉到剛剛創(chuàng)建的文件夾位置,運行命令然后會在你的文件夾中搭建好了環(huán)境配置配置修改一些你的博客名字描述作者等?;谖业膫€人經驗,建議都開啟開啟標簽頁命令,在博客目錄添加元數(shù)據(jù)開啟分類頁命令,在博 Windows環(huán)境下Git安裝、配置SSH key、安裝node.js npm、安裝Hexo及配置、發(fā)布博客 前言 使用github pages服務搭建博客的...
閱讀 1311·2021-11-22 09:34
閱讀 2173·2021-10-08 10:18
閱讀 1736·2021-09-29 09:35
閱讀 2467·2019-08-29 17:20
閱讀 2148·2019-08-29 15:36
閱讀 3410·2019-08-29 13:52
閱讀 788·2019-08-29 12:29
閱讀 1192·2019-08-28 18:10