git提交代碼

一幢哨、首先需要下載git

查看電腦是否安裝git,打開終端砂沛,輸入git,回車如果輸出如下,則代表已安裝了git

image

如果未安裝,則會(huì)輸出:

image

按照提示輸入:sudo apt-get install git即可安裝!!或者到此處下載:git下載, pkg包下載完成,雙擊安裝。

輸入命令:git --version 可查看當(dāng)前git版本

image

二.安裝后需要一些配置

配置用戶名和郵箱:

$ git config --global user.name "Your Name"  
$ git config --global user.email "email@example.com"  

使用 --global 修飾后設(shè)置的全局的用戶,如果設(shè)置單個(gè)項(xiàng)目的用戶,可cd到項(xiàng)目根目錄下,執(zhí)行如下命令:

$ git config user.name "Your Name"  
$ git config user.email "email@example.com"  

使用命令:git config --list 可查看當(dāng)前用戶信息以及其他的一些信息

$ git config --list  
core.excludesfile=/Users/mac/.gitignore_global  
difftool.sourcetree.cmd=opendiff "$LOCAL" "$REMOTE"  
difftool.sourcetree.path=  
mergetool.sourcetree.cmd=/Applications/SourceTree.app/Contents/Resources/opendiff-w.sh "$LOCAL" "$REMOTE" -ancestor "$BASE" -merge "$MERGED"  
mergetool.sourcetree.trustexitcode=true  
http.postbuffer=524288000  
https.postbuffer=524288000  
user.email=你的郵箱@qq.com  
user.name=你的用戶名  
macdeMacBook-Pro:~ Artron_LQQ$   

三.建立本地git倉庫

1. cd到你的項(xiàng)目目錄

$ cd /Users/cjk/Desktop/myShop

2. 然后,輸入git命令:

$ git init  

輸出如下:

$ git init  
Initialized empty Git repository in /Users/cjk/Desktop/GitTest/.git/  

創(chuàng)建了一個(gè)空的本地倉庫.

3.將項(xiàng)目的所有文件添加到緩存中:

$ git add .  

git add . (注意,后面有個(gè)點(diǎn))表示添加目錄下所有文件到緩存庫,如果只添加某個(gè)文件,只需把 . 換成你要添加的文件名即可;

4.將緩存中的文件Commit到git庫

git commit -m "添加你的注釋,一般是一些更改信息"

下面是第一次提交時(shí)的輸出:

$ git commit -m "添加項(xiàng)目"
[master (root-commit) 3102a38] 添加項(xiàng)目
 18 files changed, 1085 insertions(+)
 create mode 100644 GitTest.xcodeproj/project.pbxproj
 create mode 100644 GitTest.xcodeproj/project.xcworkspace/contents.xcworkspacedata
 create mode 100644 GitTest.xcodeproj/project.xcworkspace/xcuserdata/Artron_LQQ.xcuserdatad/UserInterfaceState.xcuserstate
 create mode 100644 GitTest.xcodeproj/xcuserdata/Artron_LQQ.xcuserdatad/xcschemes/GitTest.xcscheme
 create mode 100644 GitTest.xcodeproj/xcuserdata/Artron_LQQ.xcuserdatad/xcschemes/xcschememanagement.plist
 create mode 100644 GitTest/AppDelegate.h
 create mode 100644 GitTest/AppDelegate.m
 create mode 100644 GitTest/Assets.xcassets/AppIcon.appiconset/Contents.json
 create mode 100644 GitTest/Base.lproj/LaunchScreen.storyboard
 create mode 100644 GitTest/Base.lproj/Main.storyboard
 create mode 100644 GitTest/Info.plist
 create mode 100644 GitTest/ViewController.h
 create mode 100644 GitTest/ViewController.m
 create mode 100644 GitTest/main.m
 create mode 100644 GitTestTests/GitTestTests.m
 create mode 100644 GitTestTests/Info.plist
 create mode 100644 GitTestUITests/GitTestUITests.m
 create mode 100644 GitTestUITests/Info.plist

或者不添加注釋 git commit ,但是這樣會(huì)進(jìn)入vim(vi)編輯器

# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch master
# Changes to be committed:
#       modified:   LQQCircleShowImage.xcodeproj/project.pbxproj
#       modified:   LQQCircleShowImage/TableViewCell.m
#
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
"~/Desktop/LQQCircleShowImage/.git/COMMIT_EDITMSG" 8L, 292C

在這里可以輸入更改信息,也可以不輸入,然后 按住 shift + : ,輸入wq 即可保存信息并退出vim編輯器;

四,建立遠(yuǎn)程庫

在一些代碼托管平臺(tái)創(chuàng)建項(xiàng)目,例如github或者開源中國社區(qū),這里已開源中國社區(qū)為例;

創(chuàng)建項(xiàng)目后,會(huì)生成一個(gè)HTTPS鏈接,如下:

image
https://git.oschina.net/liuqiqiang/gitTest.git  

五 將本地的庫鏈接到遠(yuǎn)

終端中輸入: git remote add origin HTTPS鏈接

$ git remote add origin https://git.oschina.net/liuqiqiang/gitTest.git  

六.上傳代碼到遠(yuǎn)程庫,上傳之前最好先Pull一下,再執(zhí)行命令: git pull origin master

輸出:

$ git pull origin master
warning: no common commits
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
From https://git.oschina.net/liuqiqiang/gitTest
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
Merge made by the 'recursive' strategy.
 README.md | 1 +
 1 file changed, 1 insertion(+)
 create mode 100644 README.md

即pull成功,

七.接著執(zhí)行:git push origin master

完成后輸出:

$ git push origin master
Counting objects: 34, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (29/29), done.
Writing objects: 100% (34/34), 15.63 KiB | 0 bytes/s, done.
Total 34 (delta 3), reused 0 (delta 0)
To https://git.oschina.net/liuqiqiang/gitTest.git
   5e2dda1..537ecfe  master -> master

即將代碼成功提交到遠(yuǎn)程庫!!!

注:如果pull之后出現(xiàn) “ refusing to merge unrelated histories ”這句,就證明你合并pull兩個(gè)不同的項(xiàng)目

出現(xiàn)的問題如何去解決fatal: refusing to merge unrelated histories

我在Github新建一個(gè)倉庫蝇摸,寫了License,然后把本地一個(gè)寫了很久倉庫上傳办陷。

先pull探入,因?yàn)閮蓚€(gè)倉庫不同,發(fā)現(xiàn)refusing to merge unrelated histories懂诗,無法pull

因?yàn)樗麄兪莾蓚€(gè)不同的項(xiàng)目蜂嗽,要把兩個(gè)不同的項(xiàng)目合并,git需要添加一句代碼殃恒,在git pull植旧,這句代碼是在git 2.9.2版本發(fā)生的,最新的版本需要添加--allow-unrelated-histories

假如我們的源是origin离唐,分支是master病附,那么我們 需要這樣寫git pull origin master --allow-unrelated-histories需要知道,我們的源可以是本地的路徑

接著到你的遠(yuǎn)程庫查看,提交前:
image

提交成功后:

image

注意:操作的時(shí)候,指令不要輸錯(cuò)了!!!!

下面這個(gè)是輸錯(cuò)了 orgin的輸出:

git pull orgin master
fatal: 'orgin' does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

正確的應(yīng)該是origin!!

如果在push的時(shí)候有如下輸出:

$ git push -u origin master
To https://git.oschina.net/liuqiqiang/LQQCircleShowImage.git
 ! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'https://git.oschina.net/liuqiqiang/LQQCircleShowImage.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

看提示可知道,需要先pull一下,即執(zhí)行一次:git pull origin master

然后再執(zhí)行:git push origin master

分支管理

新建分支

$ git branch newbranch

查看分支

$ git branch

輸出:

* master
  newbranch

*代表當(dāng)前所在的分支

切換分支

$ git checkout new branch

輸出

Switched to branch 'newbranch'

切換后可用git branch查看是否切換到當(dāng)前分支

master
* newbranch

提交改動(dòng)到當(dāng)前分支

$ git add .
$ git commit -a

可使用git status查看提交狀態(tài)

接著切回主分支

$ git checkout master

輸出:

Switched to branch 'master'

將新分支提交的改動(dòng)合并到主分支上

$ git merge newbranch

輸出:

Updating cc73a48..93a1347
Fast-forward
 GitTest.xcodeproj/project.pbxproj                        |   9 +++++++++
 .../UserInterfaceState.xcuserstate                       | Bin 0 -> 7518 bytes
 GitTest/test.h                                           |  13 +++++++++++++
 GitTest/test.m                                           |  13 +++++++++++++
 4 files changed, 35 insertions(+)
 create mode 100644 GitTest.xcodeproj/project.xcworkspace/xcuserdata/Artron_LQQ.xcuserdatad/UserInterfaceState.xcuserstate
 create mode 100644 GitTest/test.h
 create mode 100644 GitTest/test.m

這里我提交了兩個(gè)文件,即:test.h和test.m

如果合并后產(chǎn)生沖突,可輸入以下指令查看沖突:

$ git diff

修改之后,再次提交即可;

接下來,就可以push代碼了:

$ git push -u origin master

這時(shí)可能需要你輸入你的github用戶名和密碼,按照提示輸入即可;

刪除分支

$ git branch -D newbranch

輸出

Deleted branch newbranch (was 93a1347).
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末亥鬓,一起剝皮案震驚了整個(gè)濱河市完沪,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖覆积,帶你破解...
    沈念sama閱讀 211,639評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件听皿,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡宽档,警方通過查閱死者的電腦和手機(jī)尉姨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來吗冤,“玉大人又厉,你說我怎么就攤上這事∽滴粒” “怎么了覆致?”我有些...
    開封第一講書人閱讀 157,221評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長肺蔚。 經(jīng)常有香客問我煌妈,道長,這世上最難降的妖魔是什么婆排? 我笑而不...
    開封第一講書人閱讀 56,474評(píng)論 1 283
  • 正文 為了忘掉前任声旺,我火速辦了婚禮笔链,結(jié)果婚禮上段只,老公的妹妹穿的比我還像新娘。我一直安慰自己鉴扫,他們只是感情好赞枕,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,570評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著坪创,像睡著了一般炕婶。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上莱预,一...
    開封第一講書人閱讀 49,816評(píng)論 1 290
  • 那天柠掂,我揣著相機(jī)與錄音,去河邊找鬼依沮。 笑死涯贞,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的危喉。 我是一名探鬼主播宋渔,決...
    沈念sama閱讀 38,957評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼辜限!你這毒婦竟也來了皇拣?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,718評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤薄嫡,失蹤者是張志新(化名)和其女友劉穎氧急,沒想到半個(gè)月后颗胡,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,176評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡态蒂,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,511評(píng)論 2 327
  • 正文 我和宋清朗相戀三年杭措,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片钾恢。...
    茶點(diǎn)故事閱讀 38,646評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡手素,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出瘩蚪,到底是詐尸還是另有隱情泉懦,我是刑警寧澤,帶...
    沈念sama閱讀 34,322評(píng)論 4 330
  • 正文 年R本政府宣布疹瘦,位于F島的核電站崩哩,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏言沐。R本人自食惡果不足惜邓嘹,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,934評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望险胰。 院中可真熱鬧汹押,春花似錦、人聲如沸起便。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽榆综。三九已至妙痹,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間鼻疮,已是汗流浹背怯伊。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評(píng)論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留判沟,地道東北人耿芹。 一個(gè)月前我還...
    沈念sama閱讀 46,358評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像水评,于是被迫代替她去往敵國和親猩系。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,514評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容