1. 怎樣將本地非空目錄轉換成git倉庫
我們都知道,使用git的好處是可以很好地對項目版本進行控制。
我們可以很清楚地看到修改了哪些代碼,並可以恢復到我們想要的版本。
使用的話,平常我們都是先將改動的代碼提交到本地倉庫,再推送到遠程倉庫。
那如果我們不需要推送到遠程倉庫,只需要在本地倉庫進行管理呢?
最近就在做項目時,需要建立本地倉庫。
於是上網查了下資料,找到了建立本地git倉庫的方法,下面簡單描述一下:
1、在項目的根目錄下,使用git init 命令創建一個版本庫。執行過後會發現根目錄下多了一個.git的目錄。
其仔茄中包括許多的空文件。比如:
config # 項目的配置信息
description # 項目的描述信息
HEAD # 項目當前在哪個分支的信息
hooks/ # 默認的「hooks」 腳本文件
index # 索引文件,git add 後把要首春添加的項暫存到這里
info/ # 裡面有一個exclude文件,指定本項目要忽略的文件 #
logs/ # 各個refs的歷史信息
objects/ # 這個目錄非常重要,裡面存儲都是Git的數據對象
2、本地倉庫創建成功後,使用git add 命令。把當前目錄下的所有文件全部添加到暫存區。
3、再使用git commit 命令,將文件提交到本地倉庫。
至此,本地倉庫創建成功。當本地的源文件改動時,只需要再添加、提交到本地倉庫即可。
使用git log 命令,可以看出有哪些內容被提交了。
甚至者戚耐可以恢復到想要恢復的版本,這樣及再也不用擔心代碼不能恢復的情況了。
2. 如何將本地代碼上傳至git倉庫
注意:安裝的前提條件是配置好Git的相關環境或者安裝好git.exe,此處不再重點提及
上傳的步驟:(本文採用git 命令界面進行操作)
( git config --global user.email "[email protected]"
git config --global user.name "Your Name")實現登陸
1.進入本地的項目目錄,右鍵「Git Bash here」,調出git命令行界面,然後輸入
[plain] view plain 在CODE上查看代碼片派生到我的代碼片
git init
2.就是將目錄下的所有文件上傳,也可以將「.」換成具體的文件名
[plain] view plain 在CODE上查看代碼片派生到我的代碼片
git add .
3.將項目提交到gitHub
[html] view plain 在CODE上查看代碼片派生到我的代碼片
git commit -m "注釋語句"
4.在github上創建新的repository
5.點擊 「Create repository」跳轉到一個連接,如下紅色圈獲取到本項目的github地址
6.將本地的代碼關聯到github上
[html] view plain 在CODE上查看代碼片派生到我的代碼片
git remote add origin 項目的github地址
7.上傳代碼到github之前需要先pull
[plain] view plain 在CODE上查看代碼片派生到我的代碼片
git pull origin master
8.上傳代碼到遠程倉庫
[plain] view plain 在CODE上查看代碼片派生到我的代碼片
git push -u origin master
之後輸入賬號,密碼,上傳到github
3. 怎麼把git代碼導入到本地倉庫
Git本地倉庫使用
1)初始化
git init
cd到你本地的工程目錄,初始git使用環境,當空枝前目斗激敏錄下會創建一個.git目錄。
我這是之前init過了,所以會提示鉛滲reinit。
2)添加文件到版本庫
git add [file/dir]
這樣,把文件添加到git本地管理目錄中,這類似Svn的add操作,實際上,還沒有提交到本地管理倉庫。利用
git status
4. 關於git如何將老倉庫中的分支遷移到新倉庫中
前期准備:
老地址: https://gitee.com/fengxiangongye/occupation_campus_front_end
新地址: https://gitee.com/church_experimental_school/portal-vue
1.進入git_test根目錄(可以執行git命令的話,就證明進入了git_test根目錄。)
2.查看項目目前的git地址 git remote -v
git remote-v
origin https://gitee.com/fengxiangongye/occupation_campus_front_end (fetch)
origin https://gitee.com/fengxiangongye/occupation_campus_front_end (push)
3.重新設置git的新地址 git remote set-url origin https://gitee.com/church_experimental_school/portal-vue
git remote set-url origin https://gitee.com/church_experimental_school/portal-vue
4.驗證項目目前的git地乎迅址git remote -v
git remote-v
origin https://gitee.com/church_experimental_school/portal-vue (fetch)
origin https://gitee.com/church_experimental_school/portal-vue (push)
5.將春襲項目上傳到git上
git push -u origin --all
git push -u origin --tags完成歲森此。但需要注意git分支,新上傳項目的分支只會保留本地的,之前的遠程分支不存在。
或者:使用idea
1.
2.
5. git不同倉庫間如何切換
git config -global user"建立一個存放工程的文件夾git init命令用於初始化當前所在目錄的租明乎這個項目會創建一個隱藏文件 .git創建main.c 文件創建.gitignore文件,忽略該文件裡面有的項目文件git status 查看項目狀態git add .. 給我目前的這個項目製作一個快照snapshot(快照只是登記留名,快照不等於記錄在案,git管快照叫做索引index)git commit用於將快照里登記的內容永久寫入git倉庫中,也就是開發者已經想好了要提交自己的開發成果了。要說一句:切記寫開發日誌的時候,第一行一定要是少於50字的開發概括信息,而且第二行務必是空行,第三行開始才可以開始細致描述開發信息。這是因為很多版本服務系統中的email機制都會選取log中的第一行為郵件題目。git commit -a這個命令可以槐尺直接提交所有修改,省去了你git add和git diff和git commit的工序注意:無法把新增文件或文件夾加入進來,所以,如果你新增了文件或文件夾,那麼就要老老實實的先git add .,再git commitgit log -p如果你覺得git log給出的信息太單薄了,可以使用git log -p,這樣git不但會給出開發日誌,而且會弊悉顯示每個開發版本的代碼區別所在。總結:先git add你修改過的文件,再git diff並git status查看確認,然後git commit提交,然後輸入你的開發日誌,最後git log再次確認。創建分支git branch experiment 創建一個分支直接輸入git branch,不加任何後續參數,就表示讓git列出所有已存在的分支。前面帶「星號」的分支表示當前所在的分支。切換分支到experimentgit checkout experiment分支程序OKgit commit -a在分支上提交工作切換住幹道git checkout mastergit commit -agit merge experiment 合並分支到主幹道提示合並失敗查看源文件git迷惑之處在於它不知道是把hello world這行放在前面還是把報時功能這段放在前面。
6. 怎樣將svn庫中的代碼遷移到git庫
下面開始我們的學習:
1.Git安裝(略)。
2.創建版本庫
首先,選擇一個合適的地方(我選擇了D盤,我的電腦是Win 7),常見一個空目錄:
$ mkdir Git
$ cd Git
$ pwd//顯示當前的路徑
/d/Git
註:Windows下,路徑名不要包含中文,因為Git對中文支持不給力!
第二步,通過git init命令把這個目錄變成Git可以管理的倉庫:
1
2
$ git init
Initialized empty Git repository in /d/Git/.git/
這樣就創建了你的Git倉庫。
接下來,我們上傳一個文件到Git。編輯一個readme.txt文件,內容如下:
Git is a distributed version control system.
Git is free software distributed under the GPL.
Git has a mutable index called stage.
Git tracks changes of files.
將其放到/d/Git目錄下,因為這是一個Git倉庫,放到其他地方Git再厲害也找不到這個文件。
將一個文件放到Git倉庫需要兩步:
(1)使用git add將文件添加到倉庫:
1
$ git add readme.txt
(2)使用git commit將文件提交到倉庫:
git commit -m "wrote a readme file"
[master 48b9a84] wrote a readme file
1 file changed, 2 insertions(+)
註:git commit命令,-m後面輸入的是本次提交的說明,可以輸入任意內容,當然最好是有意義的,這樣你就能從歷史記錄里方便地找到改動記錄。
commit可以一次提交多個文件:
$ git add file1.txt
$ git add file2.txt
$ git add file3.txt
$ git commit -m "add 3 files."
3.Git的命令很多,下面再學習幾個吧!
繼續修改readme.txt文件:
Git is a distributed version control system.
Git is free software.
git status命令看看結果:
$ git status
# On branch master
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: readme.txt
#
no changes added to commit (use "git add" and/or "git commit -a")
git status查看倉庫當前的狀態,上面的命令告訴我們,readme.txt被修改過了,但還沒有準備提交的修改。
雖然Git告訴我們readme.txt被修改了,但如果能看看具體修改了什麼內容,自然是很好的。比如你休假兩周從國外回來,第一天上班時,已經記不清上次怎麼修改的readme.txt,所以,需要用git diff這個命令看看:
1
2
3
4
5
6
7
8
9
$ git diff readme.txt
diff --git a/readme.txt b/readme.txt
index 46d49bf..9247db6 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1,2 +1,2 @@
-Git is a version control system.
+Git is a distributed version control system.
Git is free software.
git diff查看不同!
在工作中,我們可能提交了幾千個文件,如果想看歷史記錄,可以使用git log命令:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$ git log
commit
Author: Michael Liao <[email protected]>
Date: Tue Aug 20 15:11:49 2013 +0800
append GPL
commit
Author: Michael Liao <[email protected]>
Date: Tue Aug 20 14:53:12 2013 +0800
add distributed
commit
Author: Michael Liao <[email protected]>
Date: Mon Aug 19 17:51:55 2013 +0800
wrote a readme file<br>………………………………………………………………………………<br>………………………………………………………………………………
commit
Author: lixiaolun <[email protected]>
Date: Thu Jan 15 22:06:05 2015 +0800
wrote a readme file
(END)
註:最後你可能會碰到這個(END),此後你怎麼點都沒有用。那麼現在你要輸入:wq或:q退出。這個命令同linux指令。
git log命令顯示從最近到最遠的提交日誌。如果嫌輸出信息太多,看得眼花繚亂的,可以試試加上
--pretty=oneline參數:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$ git log --pretty=oneline
commit a file readme
text1.txt commit
wrote a readme file
2015-1-30 upload
local_gitgub
remove text1.txt
remove text.txt
add test.txt
git tracks changes
add 3 text.txt
understand how stage
modify reamde.txt
add a new word distr
wrote a readme file
友情提示:你看到的一大串類似3628164...882e1e0的是commit id(版本號),和SVN不一樣,Git的commit id不是1,2,3……遞增的數字,而是一個SHA1計算出來的一個非常大的數字,用十六進製表示。
時光穿梭之版本回退!!
如果你提交的一個文件,發現還不如你你上一個版本好,趕緊回退!怎麼做呢?
首先,Git必須知道當前版本是哪個版本,在Git中,用HEAD表示當前版本,也就是最新的提交3628164...882e1e0(注意我的提交ID和你的肯定不一樣),上一個版本就是HEAD^,上上一個版本就是HEAD^^,當然往上100個版本寫100個^比較容易數不過來,所以寫成HEAD~100。
回退到上一個版本的命令git reset:
1
$ git reset --hard HEAD^
--hard參數有啥意義?這個後面再講,現在你先放心使用。
查看文件命令cat readme.txt:
1
2
3
$ cat readme.txt
Git is a distributed version control system.
Git is free software distributed under the GPL.
git reflog記錄了每一次命令:
$ git reflog
ea34578 HEAD@{0}: reset: moving to HEAD^
3628164 HEAD@{1}: commit: append GPL
ea34578 HEAD@{2}: commit: add distributed
cb926e7 HEAD@{3}: commit (initial): wrote a readme file
前面的數字是commit id。知道commit id可以回退上一次執行的命令,回退命令為git reset --hard <commit id>:
1
$ git reset --hard 3628164
7. 有沒有辦法把我github的個人倉庫整體遷移到組織倉庫
第一步:建立git倉庫
cd到你的本地項目根目錄下,執行git命令
git init11
第二步:將項目的所有文件添加到倉庫中
git add .11
如果想添加某個特定的文件,只需把.換成特定的文件名即可
第三步:將add的文件commit到倉庫
git commit -m "注釋語句"11
第四步:去襪寬github上創建自己的Repository,者和創建頁面如下圖所示:
點擊下面的Create repository,就會進入到類似下面的一個頁面,拿到創建的倉庫的https地址,紅框標示的就是
第五步:重點來了,將本地的倉庫關聯到github上
git remote add origin
後面的https鏈接地址換成你自己的倉庫url地址,也就是上面紅框中標出來的地址
第六步:上傳github之前,要先pull一下,執行如下命令:
git pull origin master11
敲回車後,會執行輸出類似如下
第七步,也就是最後一步,上傳代碼到github遠程倉庫
git push -u origin master11
執行完後,如果沒有異常,等待執行完就上傳成功了,中間可能會讓你輸入Username和Password,你只要輸入首好盯github的賬號和密碼就行了
8. 如何將本地代碼提交到多個遠程倉庫
gitcommit可以把代碼提交到本地倉庫,不用merge。但當需要把
本地代碼純友
的改動推鬧兆送到遠程倉庫中的時液褲租候,必須要先fetch,再merge(或者直接gitpull),如果有沖突,還要解決沖突(你的改動和別人對遠程倉庫代碼的改動有沖突)。
9. 如何將本地代碼提交到github遠程倉庫
第一步:建立git倉庫
cd到你的本地項目根目錄下,執行git命令
git init1
第二步:將項目的所有文件添加到倉庫中
git add .1
如果想添加某個特定的文件,只需把.換成特定的文件名即可
第三步:將add的文件commit到倉庫
git commit -m "注釋語句"1
第四步:去github上創建自己的Repository,創建頁面如下圖所示:
10. GitHub提交代碼到私人存儲庫
有天晚上,想自己創建一個Git的倉庫,不知為啥,沒成功。可能是熬夜太晚,今天一搞十幾分鍾就好了。那我就來簡單的總結一下。
1、在網路上搜索並下載GitBash,並安裝
2、在你想要創建倉庫的位置,創建一個改倉庫的目錄,如果你覺得當前目錄就不錯,也可以使用當前目錄,然後初始化目錄。
[plain]view plain
gitinit
- 3、然後去你的GitHub主頁,創建一個倉庫,創建後將倉庫的地址復制出來。
gitcloneh
- 5、clone好後,將會發現本地倉庫中多了一個文件夾,與GitHub主頁上的倉庫名相同。
gitadd.
- 7、接著提交,並寫一個簡短的說明。這個提交時先提交到本地倉庫中。
gitcommit-m"xxxx"
- 8、上傳到遠程倉庫,注意這個過程需要用戶名,密碼。
gitpushoriginmaster
- 9、等上傳完畢後GitBash會有提示。如果沒有提示,說明上傳比較慢,耐心等待一下哈。
To
*[newbranch]master->master
gitadd.
- Git會自動識別哪些是新增加的代碼,之後的操作重復第7、8步就可以了。
4、回到本地,你初始化本地倉庫的地方,用如下命令,將你遠程的倉庫克隆下來。裡面的xxx是我舉的例子哈。
[html]view plain
此時,也是最關鍵的步驟:
將clone出的文件夾中的內容,一般是一個Readme文件,還有一個.git的隱藏文件夾,復制出來。
粘貼在你初始化的倉庫中,然後刪除clone出的那個文件夾。
6、下面就可以添加項目了。利用如下命令,添加項目。add .是添加所有文件,如果是添加部分,可以用add + "文件名"
[html]view plain
[html]view plain
[html]view plain
成功提示類似下面:
[html]view plain
10、項目中新增一個文件夾怎麼上傳到GitHub
這個問題其實很簡答:
[html]view plain
11、提示一下
如果你要修改README.md文件,這個文件要採用markdown格式編寫哦。
就是記錄下,備忘。