GIT學習0基礎到入門(附圖)

GIT學習

1.git 常用命令代碼
提交,或者修改代碼到暫存區
git add

2.設置簽名
git config user.name JackMa
git config user.email [email protected]

3.返回系統+目錄
cd ~

4.設置系統git簽名(/c/Users/ponyMa/.gitconfig)
git config --global user.name JackMa
git config --global user.email [email protected]

5.查看隱藏目錄結構
ls -la 或者 ll -la 或者 ls -la||less

6.查看工作區,暫存區 文件當前的狀態
git status

7.刪除文件
git rm —cached 文件名 ( git rm --cached good.txt 移除git暫存區的文件)
圖解7 git rm ---cached

rm aaa.txt(刪除指定 aaa.txt 是文件名)
圖解7 rm  git reset

8.提交git暫存區中的文件
git commit 文件名( git commit good.txt 要進入)
git commit -m “update” good.txt(以直接寫註釋的方式提交)
git commit -m “update”(提交暫存區中的所有文件,不帶文件名)
圖解8

9.查看提交文件的日誌(歷史記錄)
git log(查看文件提交的歷史記錄)
git log --pretty=oneline(日誌按一行的模式顯示)
git log --oneline(顯示更加簡潔)
git reflog(HEAD@{移動到當前版本的步數} 回退到某個版本需要移動幾步)

10.回退指定當前文件的版本
git reset --hard 593a611 (593a611指定的版本號(可以用 git reflog命令查看))
git reset --hard ^^(只能向後回退3個版本,幾個就向後回退幾個版本)
git resret --hard head3(只能向後回退3個版本,可以指定數字是多少就向後回退幾個版本)
git reset --soft 593a611 (593a611指定的版本號只是移動了本地庫的版本號(可以用 git reflog命令查看))
git reset --mixed 1ff49dd(1ff49dd指定的版本號只是移動了本地庫和暫存區的版本號(可以用 git reflog命令查看)))
git reset --hard head (刪除操作未提交到本地庫,可以回滾 )

10.比較文件的差異 圖解10
git diff [文件名] (將工作區中的文件和暫存區進行比較文件)
git diff head^ [文件名] (和上一個文件比較)
git diff 31d6325 apple.txt(git diff [版本號] [文件名])
git diff (不帶文件名比較多個文件)

11.分支操作
git branch 分支名 (創建分支)
git branch -v (查看所有分支)
git branch hot_fix(創建指定名稱的分支)
git checkout hot_fix(切換分支,切換分支的時候一定要注意,當前的分支是否有文件未提交到工作區)
圖解11 分支
git merge hot_fix(合併分支,前提需要切換到主分支上面git checkout hot_fix)

12.解決切換分支出現的問題
HEAD 當前分支的內容
進入編輯模式
DD 刪除當前行
DD [參數] (參數可以輸入3行,就刪除3行)
PP 複製行
PP [參數](參數可以輸入3行,就複製3行)

13 Git 加密算法底層採用的SHA-1算法
13.1 集中式版管理工具機制(svn)

13.1.1 保存每個文件變化的代碼,以增量的方式保存,可以節約服務器的空間
13.1.2 分支:把所有的文件複製一份分支上。
13.2 分佈式版管理工具機制(Git)
以快照的方式管理每個文件的版本.
分支:(新建分支)建一個指針,(切換分支)移動一個指針就好了.

14.指定查看某個文件的顯示的行數
tail -n 顯示的條數 文件名 (tail -n 10 good.txt 10 是顯示的條數 good. txt 是文件名)

15.多屏顯示方式
空格 向下翻頁
b 向上翻頁
q 退出

16.設置Git提交的命令
git remote -v 查看git地址
git remote add [別名] [git地址] 指定提交遠程庫的地址 (git remote add origin https://github.com/mahukang/huashan.git)
圖解16

git push [別名] [分支名] 向遠程庫提交指定分支的文件(git push origin master 注意看下是否有新文件上傳)
圖解git push

git clone [地址] 克隆項目(目標需要複製 git clone https://github.com/mahukang/huashan.git
)

1.好處:完整的把遠程庫下載到本地,2.創建origin遠程地址別名,3.初始化本地庫
圖解16 git clone
git fetch [別名] [分支名] 拉取遠程庫指定分支的文件(git push origin master 注意看下是否有新文件上傳)
git log -p master… origin/master 從遠程的origin倉庫的master分支下載代碼到本地的origin master
git checkout origin/master 查看拉取後未合併的文件(注意一定要執行拉取命令後在看)
圖解16 git checkout

git merge [遠程別名]/[遠程分支名] 合併代碼 (git merge origin/master 遠程下載下來的代碼合併到本地倉庫,遠程的和本地的合併)
git pull [遠程別名] [遠程分支名] 從遠程庫拉取文件到本地 (git pull origin master 前提是不起衝動的情況下,執行這個命令,否則執行git push origin master,在執行git merge origin/master即可達到同樣的效果)
圖解16 git pull

17.Git加入成員
設置—>協作者–>添加用戶
圖解17

18.跨團隊協作操作
新建一個賬號 [email protected]
沒有權限提交(因爲此時的賬號是[email protected])
圖解18 沒權限

解決權限的問題,到控制面板—>用戶賬戶–>管理windows憑證–>刪除git網站的憑證即可重新輸入你擁有該網站的提交權限圖解18 解決沒有權限
訪問者git網站–>pull request–>Create pull request圖解18 Create pull request
圖解18

屬於者git網站–>pull reques–>點擊需要提交的文件
圖解19

合併代碼 Merger pull request(點擊沒有反應的話,建議用chrome)
圖解20 pull reques>>點擊 Confirm merge
圖解21 Confirm merge

19.配置免密登陸
1.進入到根目錄 cd ~

2.檢查目錄 cd .ssh/

2.1 沒有 就執行ssh-keygen -t rsa -C [email protected]
2.2 有 執行進入目錄執行ls -lf
圖解22 生成密鑰

3.查看SSH密鑰 cat id_rsa.pub 圖解23

4.進入Git網站 配置免密登陸
圖解24

5.複製SSH免密登陸的地址
圖解25

6.創建免密庫 git remote add origin_ssh [email protected]:mahukang/huashan.git
圖解26 git remote add
圖解27 git remote -v 查看git庫

7.推送免密庫
7.1此處注意不是git push origin master(未配置ssh密鑰的庫,這時還需要你輸入賬號和密碼後才能提交)
圖解28 git push  origin master
7.2正確做法 git push origin_ssh master
![圖解29

  1. Elipse配置git

1.新建一個maven項目(注意不要在已經有的git目錄下建項目,否則讀不到配置)

1.1鼠標右鍵->>new ->>選擇other–>Maven Project(按Ctrl+N的熱鍵進入新建選項)
圖解30 創建maven項目
1.2 New Maven Project 選擇相對應的選項,下面有屬性的解釋
Create a simple project (skip archetype selection) :創建一個簡單的項目(跳過對原型模板的選擇)[默認勾選]
User default Workspace location:使用本地默認的工作空間
–Loaction:本地工作空間目錄
Add project(s) to working set :增加項目到工作集
圖解31 選項解釋
1.2 填寫相對應的項目配置
[外鏈圖片轉存失敗(img-FSSf1qXc-1565534719924)(./1563093024760.png)]圖解32 項目配置選項

項目配置選項簡要說明
-------Group Id:組Id,針對一個項目的普遍唯一識別符。相當於我們日常使用的包名,例如:com.git.
-------Artifact Id:要新建的項目的名字
-------Version:版本號,默認0.0.1-SNAPSHOT
-------Packing:要將該項目生成什麼類型,有jar,war,ejb,ear,rar,pom,maven-plugin,maven-archetype,osgi-bundle,eclipse-plugin
-------Name:名字(估計是模板的名字)
-------Description:說明
Parent Project(父項目)以之前的項目作爲基礎新建項目,點Browse出現(如圖6:選擇項目),可以以原有的項目作爲基礎新建,必須爲Jar或者pom纔行
1.3 創建web.xml文件 工程–>-->Java EE Tools -->Generate Deployment Descriptor Stub
圖解33 創建web.xml文件

2.工程初始化爲git本地庫

2.1 工程–>Team–>sharProject–>git
圖解34 項目初始化爲git本地庫

2.2 Create Repository
圖解35 創建存儲庫
2.3 檢查本地庫是否初始化成功
圖解36 初始化本地庫

2.4 工程本地庫設置簽名
圖解37 設置git提交簽名

3.Eclipse中忽略文件

1.Eclipse特定文件
這些都是Eclipse爲了管理我們創建的工程而維護的文件,和開發的代碼沒有直接關係。最好不要在Git中進行追蹤,也就是說可以把他們忽略了。

.classpath 文件
.project 文件
.settings 目錄下所有文件

2.爲什麼要忽略Eclipse特定文件呢?

同一團隊中很難保證大家使用相同的IDE工具,IDE工具不同時,相關工程特定文件就有可能不同,如果這些文件加入版本控制,那麼開發時很可能需要爲了這些文件解決衝突。
圖解38  版本工具多樣化

3.GitHub官網樣例文件
3.1 https://github.com/github/gitignore 找到Java.gitignore
圖解38 git提交的配置文件
3.2 配置全局的javaGit提交忽略
圖解39 Git文件詳解

# Compiled class file
*.class

# Log file
*.log

# BlueJ files
*.ctxt

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*

.classpath
.project
.settings
target

3.3 在~/.gitconfig 文件中引入上述文件

		excludesfile=C:/Users/ponyMa/Java.gitignore
[注意:這裏路徑中一定要使用"/",不要使用'\']

3.4 Eclipse檢查特定文件是否生效?
圖解40 Eclipse配置

3.5 推送到遠程庫
3.5.1 首先在Git上新建一個和項目名一樣的庫 (https://github.com/mahukang/TestGit.git)]
圖解41 準備工作 創建遠程庫
3.5.2 Eclipse 推送設置
圖解42 Eclipse推送步驟
3.5.3 輸入賬號和密碼進行提交
圖解42 設置賬戶和密碼
3.5.4 添加到暫存區
圖解43 添加到暫存區
3.5.5 添加提交說明
![圖解44 設置提交註釋
3.5.6 提交成功的提示
圖解45 提交遠程庫

3.6 克隆工程
3.6.1 鼠標右鍵–>import–>import
圖解46 導入步驟-1
3.6.2 配置遠程庫拉取的Git地址
![圖解47 導入步驟-2
圖解48 導入步驟-3
圖解49 設置地址和賬戶,密碼
圖解50 選擇分支
3.6.3 默認爲 C:\Users\ponyMa\git\TestGit
圖解51  選擇項目的工作目錄
3.6.4 選擇導入項目的屬性
圖解52 工程屬性選擇:這裏選擇常規工程
3.6.5 轉換成Maven項目
圖解53 轉換成maven項目
3.6.6 解決衝突 Merge Tool
圖解54 解決衝突1
圖解54 解決衝突2

4 分支實戰
兩個項目的目錄:D:\git\TestGitProject\TestGit E:\baosight\Project\Git\TestGit

  1. 搭建GitLab服務器

1.安裝CentOS-7 安裝過程見本文https://blog.csdn.net/qq_24862137/article/details/100122590

2.配置外網規定ip cd /etc/sysconfig/network-scripts/

圖解55 配置靜態ip
3.重啓網卡 service network restart 此處需要注意沒有重啓網卡是不生效的。
4.查看ip ifconfig

3.安裝並配置必要的依賴關係
3.1 安裝ssh sudo yum install -y curl policycoreutils-pythonopenssh-server

圖解56  依賴進程-1
圖解57  依賴進程-2
圖解58  依賴進程-3
圖解59  依賴進程-4
圖解60  依賴進程-5 圖解61  依賴進程-6

3.2 將SSH服務設置成開機自啓動,安裝命令:sudo systemctl enable sshd
3.3 啓動SSH服務,安裝命令:sudo systemctl start sshd

圖解62 設置ssh的服務自啓

3.4 安裝防火牆 yum install firewalld systemd -y

圖解63 安裝防火牆進程-1 圖解64 安裝防火牆進程-2 圖解65 安裝防火牆進程-3 圖解66 安裝防火牆進程-4 圖解67 安裝防火牆進程-5 圖解68 安裝防火牆進程-6 圖解69 安裝防火牆進程-7 圖解70 安裝防火牆進程-8 圖解71 安裝防火牆進程-9 圖解72 安裝防火牆進程-10
3.5 開啓防火牆 service firewalld start
圖解73 開啓防火牆

3.6 添加http服務到firewalld,pemmanent表示永久生效,若不加–permanent系統下次啓動後就會失效 sudo firewall-cmd --permanent --add-service=http

圖解74 添加http服務

3.7 重啓防火牆 sudo systemctl reload firewalld

圖解75 重啓防火牆

3.8 安裝Postfix以發送通知郵件 sudo yum install postfix

圖解76 安裝Postfix郵件插件進程-1 圖解77 安裝Postfix郵件插件進程-2 圖解78 安裝Postfix郵件插件進程-3

3.9先檢查一下wget 安裝 wget -v 確保安裝 wget yum -y install wget

圖解79 安裝wget
圖解80 安裝wget進程-1.圖解81 安裝wget進程-2

4.0 下載GitLab鏡像源 wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm

圖解82 下載GitLab鏡像
4.1 安裝GitLab鏡像源 rpm -i gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm
這裏需要等待一段時間 當看到GitLab圖標的時候GitLab服務器就搭建好了[外鏈圖片轉存失敗(img-iKfu9EGB-1566984443687)(./1565536124027.png)]

4.2 修改gitlab配置文件指定服務器ip和自定義端口 vim /etc/gitlab/gitlab.rb

[外鏈圖片轉存失敗(img-GASQPPVM-1566984443688)(./1565536291709.png)]
記住切換root賬戶 命令: su root
進入編輯器後按“i”鍵進入編輯狀態,ESC鍵退出編輯狀態
退出並保存,命令輸入“:wq”
ps:注意這裏設置的端口不能被佔用,默認是8080端口,如果8080已經使用,請自定義其它端口,並在防火牆設置開放相對應得端口

4.3 改完配置重啓GitLab

1.啓動服務 gitlab-ctl reconfigure
[外鏈圖片轉存失敗(img-bfCh94VJ-1566984443688)(./1565537371156.png)][外鏈圖片轉存失敗(img-JRrsOAWA-1566984443689)(./1565537498758.png)]
2. 啓動所有gitlab 組件 sudo gitlab-ctl restart
[外鏈圖片轉存失敗(img-kpgPAHjm-1566984443689)(./1565537721762.png)]
3. 查看服務狀態 sudo gitlab-ctl status
[外鏈圖片轉存失敗(img-iVBoK7zi-1566984443689)(./1565537753159.png)]
4. 停止所有 gitlab 組件 sudo gitlab-ctl stop
[外鏈圖片轉存失敗(img-68pA9rc9-1566984443690)(./1565537799746.png)]
5. 查看日誌 gitlab-ctl tail
[外鏈圖片轉存失敗(img-lpYdPi2t-1566984443690)(./1565538768506.png)]

4.4 訪問GitLab注意此處是你前面配置的ip 192.168.1.53 初始賬戶: root 密碼:5iveL!fe

[外鏈圖片轉存失敗(img-ckpGmNX6-1566984443690)(./1565537919347.png)] mahukang
4.5 訪問成功
[外鏈圖片轉存失敗(img-msgKeWHD-1566984443691)(./1565538219064.png)]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章