Git實際開發(fā)操作(簡化)

Git 一款免費、開源的分布式版本控制系統(tǒng),用于敏捷高效地處理任何或小或大的項目。
官網(wǎng)下載地址https://git-scm.com/downloads/
Git是用于Linux內(nèi)核開發(fā)的版本控制工具。采用分布式版本庫的作法,不需要服務器端軟件,就可以運作版本控制,使得源代碼的發(fā)布和交流極其方便。速度快,最為出色的是它的合并追蹤(merge tracing)能力。

    工作實際開發(fā)操作步驟(簡化):
    一、如何從GitLab上clone項目:
    Android Studio工具VCS-->Checkout from Version Control-->Git  Git Repository URL:填寫剛剛復制的項目地址 Parent Directory:項目路徑  Directory Name:項目文件夾名稱
    二、如何創(chuàng)建上傳至GitLab:
    1.輸入用戶名與郵箱,--global 參數(shù)表示你這臺機器上所有的Git倉庫都會使用這個配置。
    git config -- global user.name "Your Name"
    git config -- global user.email "email@example.com"
    2.檢查電腦是否已經(jīng)有 SSH Keys
    cd~/.ssh
    ls
    3.創(chuàng)建一個 SSH Keys  第一個Enter表示Keys存儲的位置,默認按回車鍵即可。第二個和第三個Enter表示Push文件的時候要輸入的密碼,不需要密碼就默認按回車鍵即可

$ ssh-keygen -t rsa -C "your_email"
4.開發(fā)工具中修改項目外部.gitignore
*.iml
.gradle
/local.properties
.idea
.DS_Store
/build
/captures
.externalNativeBuild
5.創(chuàng)建本地Git倉庫 Android Studio頂部菜單欄上的VCS-->Import into Version Control-->Create Git Repository
6.關聯(lián)遠程倉庫 git remote add origin git@gitlab.com:wildma/WildmaGit.git 項目的遠程地址
7.添加文件 VCS-->Git-->Add...
8.提交文件 每次提交前需要先更新項目VCS-->Update Project 選中Merge,點擊OK 然后提交文件VCS-->Git-->Commit Directory...
9.將提交的文件推送到遠程倉庫 VCS-->Git-->Push...

   Git基本常用命令:

mkdir: XX (創(chuàng)建一個空目錄 XX指目錄名)
  pwd: 顯示當前目錄的路徑。
  git init 創(chuàng)建新的 git 倉庫(把當前的目錄變成可以管理的git倉庫,生成隱藏.git文件)
  git add XX 把xx文件添加到暫存區(qū)去。(git add -A .來一次添加所有改變的文件 git add -A表示添加所有內(nèi)容 git add . 表示添加新文件和編輯過的文件不包括刪除的文件 git add -u 表示添加編輯或者刪除的文件,不包括新添加的文件)
  git commit –m “XX” 提交文件 –m 后面的是注釋。
  git push origin master Git會把master分支推送到遠程庫對應的遠程分支上(可以把 master 換成你想要推送的任何分支)
  git status 查看倉庫狀態(tài)
git log 查看歷史記錄
  git diff XX 查看XX文件修改了那些內(nèi)容
  git reset --hard HEAD^ 或者 git reset --hard HEAD~ 回退到上一個版本
  (如果想回退到100個版本,使用git reset –hard HEAD~100 )
  cat XX 查看XX文件內(nèi)容
  git reflog 查看歷史記錄的版本號id
  git checkout -- XX 把XX文件在工作區(qū)的修改全部撤銷。
  git rm XX 刪除XX文件
  git remote add origin https://github.com/tugenhua0707/testgit 關聯(lián)一個遠程庫
  git push –u(第一次要用-u 以后不需要) origin master 把當前master分支推送到遠程庫
  git clone /path/to/repository創(chuàng)建一個本地倉庫的克隆版本
git clone username@host:/path/to/repository遠端服務器上的倉庫
  git checkout –b dev 創(chuàng)建dev分支 并切換到dev分支上
  git branch 查看當前所有的分支
  git checkout master 切換回master分支
  git merge dev 在當前的分支上合并dev分支
  git branch –d dev 刪除dev分支
  git branch name 創(chuàng)建分支
  git stash 把當前的工作隱藏起來 等以后恢復現(xiàn)場后繼續(xù)工作
  git stash list 查看所有被隱藏的文件列表
  git stash apply 恢復被隱藏的文件,但是內(nèi)容不刪除
  git stash drop 刪除文件
  git stash pop 恢復文件的同時 也刪除文件
  git remote 查看遠程庫的信息
  git remote –v 查看遠程庫的詳細信息
git remote add origin <server>如果你還沒有克隆現(xiàn)有倉庫,并欲將你的倉庫連接到某個遠程服務器

Git特點:
1.分布式:Git系統(tǒng)是一個分布式的系統(tǒng),是用來保存工程源代碼歷史狀態(tài)的命令行工具。
2.保存點:Git的保存點可以追蹤源碼中的文件, 并能得到某一個時間點上的整個工程項目的狀態(tài);可以在該保存點將多人提交的源碼合并, 也可以回退到某一個保存點上。
3.Git離線操作性:Git可以離線進行代碼提交,因此它稱得上是完全的分布式處理,Git所有的操作不需要在線進行;這意味著Git的速度要比SVN等工具快得多,因為SVN等工具需要在線時才能操作,如果網(wǎng)絡環(huán)境不好, 提交代碼會變得非常緩慢。
4.Git基于快照:SVN等老式版本控制工具是將提交點保存成補丁文件,Git提交是將提交點指向提交時的項目快照,提交的東西包含一些元數(shù)據(jù)(作者,日期,GPG等)。
5.Git的分支和合并:分支模型是Git最顯著的特點,因為這改變了開發(fā)者的開發(fā)模式,SVN等版本控制工具將每個分支都要放在不同的目錄中,Git可以在同一個目錄中切換不同的分支。
6.分支即時性:創(chuàng)建和切換分支幾乎是同時進行的,用戶可以上傳一部分分支,另外一部分分支可以隱藏在本地,不必將所有的分支都上傳到GitHub中去。
7.分支靈活性:用戶可以隨時創(chuàng)建、合并、刪除分支,多人實現(xiàn)不同的功能,可以創(chuàng)建多個分支進行開發(fā),之后進行分支合并,這種方式使開發(fā)變得快速、簡單、安全。
工作流
你的本地倉庫由 git 維護的三棵“樹”組成。第一個是你的 工作目錄,它持有實際文件;第二個是 緩存區(qū)(Index),它像個緩存區(qū)域,臨時保存你的改動;最后是 HEAD,指向你最近一次提交后的結果。


image.png

SVN與Git的主要區(qū)別:
SVN是集中式版本控制系統(tǒng),版本庫是集中放在中央服務器的,而干活的時候,用的都是自己的電腦,所以首先要從中央服務器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服務器。集中式版本控制系統(tǒng)是必須聯(lián)網(wǎng)才能工作,如果在局域網(wǎng)還可以,帶寬夠大,速度夠快,如果在互聯(lián)網(wǎng)下,如果網(wǎng)速慢的話,就納悶了。
  Git是分布式版本控制系統(tǒng),那么它就沒有中央服務器的,每個人的電腦就是一個完整的版本庫,這樣,工作的時候就不需要聯(lián)網(wǎng)了,因為版本都是在自己的電腦上。既然每個人的電腦都有一個完整的版本庫,那多個人如何協(xié)作呢?比如說自己在電腦上改了文件A,其他人也在電腦上改了文件A,這時,你們兩之間只需把各自的修改推送給對方,就可以互相看到對方的修改了。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容