GitHub原文下載下傳位址:https://github.com/ColinWangzw/git-
1.準備工作
- 下載下傳Git
Windows環境下:https://git-scm.com/download/win
- 安裝
next到底
- 配置使用者名以及郵箱
git config --global user.name "Colin"
git config --global user.email "[email protected]"
- 下載下傳并安裝可視化用戶端
https://www.sourcetreeapp.com/
用bitbucket賬号密碼登入
2.常用指令
指令行模式中:
pwd 顯示目前在哪一個目錄下面
ll 展示下面所有的檔案
cd .. 傳回到上一級目錄,注意cd和..之間的空格
mkdir 檔案名 建立檔案
cd 檔案名 進入檔案中
git init 初始化版本庫(會産生.git隐藏檔案)
ls -a 展示所有檔案(包括隐藏檔案)
echo ”git repo“ >>text.txt 将 git repo追加到text.txt檔案中(如果text.txt檔案不存在的話,就直接建立了這個檔案)
cat text.txt 展示檔案的内容
get add text.txt 将檔案添加到暫存區
get commit -m "first commit" 送出到本地倉庫,并進行備注
git status 檢視倉庫狀态
3.工作流
在sourcetree中進行工作區到暫存區的送出,暫存區到本地倉庫的送出,暫存區到本地倉庫的復原,最新送出分支的删除。然後用指令行模式演練上述過程。
- 暫存區到工作區的復原----直接丢棄暫存區的檔案,可以回到未修改之前的狀态也就是 git add後,還未git commit到本地倉庫。在sourceTree上直接丢棄掉即可;在git上可以通過
git restore --staged bash_demo.txt
git restore bash_demo.txt
或者
git reset HEAD bash_demo.txt 将暫存區的修改復原到工作區
git checkout -- bash_demo.txt 将工作區清理幹淨
- 倉庫到暫存區的復原----選擇最近的不需要做復原的檔案,重置到此次檔案,并丢棄掉不需要的送出。在sourceTree上先選擇需要復原到的送出處,然後選擇重置目前分支到此次的送出,将不需要的部分直接丢棄,最後将丢棄這個操作送出,才算成功復原;在git上的操作:
git log 用git log 找到需要復原到的送出的 送出号
git reset --hard b3fddf541cb6b59a83292b220c998d7991bffe08 重置到序号為b3fddf541cb6b59a83292b220c998d7991bffe08處的送出
rm 'bash_demo.txt' 徹底清理幹淨
git commit -m 'delete demo' 送出此次更改并添加備注。
所有的操作如圖所示:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38FdsYkRGZkRG9lcvx2bjxiNx8VZ6l2cs0zZ61kMNR0TwkFVPFTR6RmNkNDTwYVbiVHNHpleO1GTulzRilWO5xkNNh0YwIFSh9Fd4VGdsATMfd3bkFGazxyaHRGcWdUYuVzVa9GczoVdG1mWfVGc5RHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cWZwpmL5UzM2UDNxcTM3AzNwAjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpeg)
4.遠端倉庫
- 注冊github賬号
- 建立SSH key
ssh-keygen -t rsa -C "[email protected]" 在指令行中用這個指令建立SSH密鑰,進入id_rsa.pub檔案中複制所選内容(cat id_rsa.pub),然後檢查是否與遠端倉庫連通了(ssh -T [email protected])。
- 添加遠端倉庫
4.1在bash上的操作
git remote add origin [email protected].com:ColinWangzw/muke_demo.git 本地倉庫與遠端倉庫關聯起來
git pull origin master --allow-unrelated-histories
git push -u origin master 推到遠端倉庫
先在github上建立一個repository,設定為public,建立好後code子產品有提示如何操作将本地倉庫和遠端倉庫關聯起來,并進行push操作。
echo "# muke_demo_sourcetree" >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin https://github.com/ColinWangzw/muke_demo_sourcetree.git
git push -u origin master
此處關聯兩個倉庫時,用的是
git remote set-url origin https://github.com/ColinWangzw/muke_demo.git
來源于:https://www.jianshu.com/p/3380ec281729
然後進行push 操作: git push -u origin master
修改重新送出後隻需要:git push即可。
4.2在SourceTree上的操作
首先建立repository,設為public。然後再sourceTree上建立本地倉庫,右鍵master,點選建立拉取請求,添加遠端倉庫,每次更改檔案後,可以直接推到遠端倉庫。
5.克隆倉庫
找到一個沒有git本地倉庫的路徑,用
git clone [email protected]:ColinWangZW/muke_demo.git
更改相關内容後,直接 git push推送到遠端倉庫
在sourcetree上直接可以克隆,注意選好倉庫的位址即可
6.标簽管理
git tag 檢視已有标簽
git tag name 建立标簽
git tag -a name -m "commit" 指定送出資訊
git tag -d name 删除标簽
git push origin name 推到遠端倉庫
在sourcetree上直接進行操作即可,注意先送出更改到本地倉庫,然後添加标簽
7.分支管理
git branch name 建立名為name的分支
git branch 檢視所有分支
git checkout name 切換到名為name的分支
git merge name 合并分支,保留的分支為目前目錄分支,将name分支資訊合并到當下
git branch -d name 删除分支
在sourctree上直接用對應的圖示來實作。
文中主要内容源自:https://www.imooc.com/learn/1052