終端提交代碼到碼雲
終端提交代碼到碼雲
一.下載安裝Git
查看電腦是否安裝git,打開終端,輸入git,回車如果輸出如下,則代表已安裝了git
- $ git
- usage: git [--version] [--help] [-C <path>] [-c name=value]
- [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
- [-p | --paginate | --no-pager] [--no-replace-objects] [--bare]
- [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
- <command> [<args>]
- These are common Git commands used in various situations:
- start a working area (see also: git help tutorial)
- clone Clone a repository into a new directory
- init Create an empty Git repository or reinitialize an existing one
- work on the current change (see also: git help everyday)
- add Add file contents to the index
- mv Move or rename a file, a directory, or a symlink
- reset Reset current HEAD to the specified state
- rm Remove files from the working tree and from the index
- examine the history and state (see also: git help revisions)
- bisect Find by binary search the change that introduced a bug
- grep Print lines matching a pattern
- log Show commit logs
- show Show various types of objects
- status Show the working tree status
- grow, mark and tweak your common history
- branch List, create, or delete branches
- checkout Switch branches or restore working tree files
- commit Record changes to the repository
- diff Show changes between commits, commit and working tree, etc
- merge Join two or more development histories together
- rebase Forward-port local commits to the updated upstream head
- tag Create, list, delete or verify a tag object signed with GPG
- collaborate (see also: git help workflows)
- fetch Download objects and refs from another repository
- pull Fetch from and integrate with another repository or a local branch
- push Update remote refs along with associated objects
- ‘git help -a‘ and ‘git help -g‘ list available subcommands and some
- concept guides. See ‘git help <command>‘ or ‘git help <concept>‘
- to read about a specific subcommand or concept.
- macdeMacBook-Pro:~ Artron_LQQ$
- $ git
- The program ‘git‘ is currently not installed. You can install it by typing:
- sudo apt-get install git
輸入命令:git --version 可查看當前git版本
- $ git --version
- git version 2.5.4 (Apple Git-61)
- macdeMacBook-Pro:~ Artron_LQQ$
當然,網上也有一些安裝git的途徑,可自行學習...
二.安裝後需要一些配置
配置用戶名和郵箱:
- $ git config --global user.name "Your Name"
- $ git config --global user.email "[email protected]"
使用 --global 修飾後設置的全局的用戶,如果設置單個項目的用戶,可cd到項目根目錄下,執行如下命令:
- $ git config user.name "Your Name"
- $ git config user.email "[email protected]"
使用命令:git config --list 可查看當前用戶信息以及其他的一些信息
- $ 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到你的項目目錄
- $ cd /Users/mac/Desktop/GitTest
2. 然後,輸入git命令:
- $ git init
輸出如下:
- $ git init
- Initialized empty Git repository in /Users/mac/Desktop/GitTest/.git/
創建了一個空的本地倉庫.
3.將項目的所有文件添加到緩存中:
- $ git add .
4.將緩存中的文件Commit到git庫
git commit -m "添加你的註釋,一般是一些更改信息"
下面是第一次提交時的輸出:
- $ git commit -m "添加項目"
- [master (root-commit) 3102a38] 添加項目
- 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 ,但是這樣會進入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
四,建立遠程庫
在一些代碼托管平臺創建項目,例如github或者開源中國社區,這裏已開源中國社區為例;
創建項目後,會生成一個HTTPS鏈接,如下:
- https://git.oschina.net/liuqiqiang/gitTest.git
五,將本地的庫鏈接到遠程庫
終端中輸入: git remote add origin HTTPS鏈接
- $ git remote add origin https://git.oschina.net/liuqiqiang/gitTest.git
六.上傳代碼到遠程庫,上傳之前最好先Pull一下,再執行命令: 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成功,
七.接著執行: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
即將代碼成功提交到遠程庫!!!
接著到你的遠程庫查看,提交前:
提交成功後:
註意:操作的時候,指令不要輸錯了!!!!
下面這個是輸錯了 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.
正確的應該是origin!!
如果在push的時候有如下輸出:
- $ 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一下,即執行一次:git pull origin master
然後再執行:git push origin master
分支管理
新建分支
- $ git branch newbranch
查看分支
- $ git branch
輸出:
- * master
- newbranch
*代表當前所在的分支
切換分支
- $ git checkout new branch
- Switched to branch ‘newbranch‘
切換後可用git branch查看是否切換到當前分支
- master
- * newbranch
提交改動到當前分支
- $ git add .
- $ git commit -a
可使用git status查看提交狀態
接著切回主分支
- $ git checkout master
輸出:
- Switched to branch ‘master‘
將新分支提交的改動合並到主分支上
- $ 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
這裏我提交了兩個文件,即:test.h和test.m
如果合並後產生沖突,可輸入以下指令查看沖突:
- $ git diff
修改之後,再次提交即可;
接下來,就可以push代碼了:
- $ git push -u origin master
這時可能需要你輸入你的github用戶名和密碼,按照提示輸入即可;
刪除分支
- $ git branch -D newbranch
輸出
- Deleted branch newbranch (was 93a1347).
from:忘了 哈
終端提交代碼到碼雲