title: git常用命令
date: 2015-10-27 10:28:25
categories:
Windows 平台中,可以使用 Git Bash 工具
mkdir ~/.ssh
cd ~/.ssh
ssh-keygen -t rsa -C "[email protected]"
Enter passphrase ( empty for no passphrase ) : 时,可以直接按两次回车键输入一个空的 passphrase;也可以选择输入一个 passphrase 口令。(空)
SSH 目录下生成私钥 id_rsa 和公钥 id_rsa.pub 这两个文件。
查看生成的公钥信息
cat id_rsa.pub
打开 GitCafe 网站,进入 账户设置 –> SSH 公钥管理 设置项,点击 添加新公钥 按钮。
名称 为公司电脑/家里电脑等随意名称。
公钥 为id_rsa.pub里面的内容。
完成上面的操作后,可以通过下面的命令来测试一下是否可以连接 GitCafe 服务器。
ssh -T [email protected]
如果你操作的电脑是第一次与 GitCafe 建立连接,会出现以下警告,
The authenticity of host 'gitcafe.com (50.116.2.223)' can't be established.
#RSA key fingerprint is 84:9e:c9:8e:7f:36:28:08:7e:13:bf:43:12:74:11:4e.
#Are you sure you want to continue connecting (yes/no)?
输入 yes 后回车。此时,如果你在生成 SSH 密钥时设置了 passphrase 口令,会提示你输入口令,输入后回车即可。
最后,如果你看到以下信息,说明连接成功。
Hi USERNAME! You've successfully authenticated, but GitCafe does not provide shell access.
git config --global user.name 'zhim'
git config --global user.email '[email protected]'
您可以在本地创建新的 Git 仓库
#gitcafe.net上创建项目名称 gitabc
mkdir gitabc
cd gitabc
git init
git remote add origin '[email protected]:xxxx/gitabc.git'
git pull origin master
git add -A #添加所有文件
git commit -m 'first commit'
git push origin master
添加 GitCafe 远程仓库(origin(起源) 是默认的远程版本库名称)
git remote add origin '[email protected]:xxxx/gitabc.git'
git remote add origin '[email protected]:xxxx/gitabc.git'
删除 GitCafe 远程仓库 (git remote rm origin)
将master分支更新的本地 git pull origin master
提交代码到本地库
代码修改后,直接git add -A
,git commit -m "ss"
,提交代码到本地库;
提交代码到远程库
1) 先更新代码到本地,直接git pull origin master
;
2) git status,查看状态,若无冲突,git push origin master
,若有冲突,请看3);
3) 有冲突,git diff,查看冲突文件,手动修改文件,然后git add -A
,git commit -m "ss"
,git push origin master
。
提交到远程库的master分支 git push -u origin master
创建分支: $ git branch gitcafe-pages(拷贝当前分支内容到新的分支)
切换分支: $ git checkout gitcafe-pages
创建并切换分支: $ git checkout -b gitcafe-pages
提交代码到gitcafe-pages分支
git push origin gitcafe-pages
删除分支: $ git branch -d mybranch
强制删除分支: $ git branch -D mybranch
列出所有分支: $ git branch
合并分支:$ git merge branchname
这个命令把分支"branchname"合并到了当前分支里面。
git fetch --all
git reset --hard origin/master
#git fetch 只是下载远程的库的内容,不做任何的合并 git reset 把HEAD指向刚刚下载的最新的版本
要随时掌握工作区的状态,使用git status
命令。
如果git status告诉你有文件被修改过,用git diff
可以查看修改内容。
代码提交过程:先提交到本地,然后远程更新到本地,最后提交到远程。
更新
Fetch from upstream 远程服务器 --> 本地服务器
Pull 远程服务器 --> 本地服务器 --> 本地代码
提交
commit but not push 修改代码 --> 本地代码
commit and push 修改代码 --> 本地代码 --> 远程代码
提交代码到本地库
代码修改后,直接COMMIT BUT NOT PUSH,提交代码到本地库(会出现向上箭头);
提交代码到远程库
1) 同步代码
2) 同步后,若无冲突,直接PULL(图标),然后右键项目PUSH(图标);
3) 同步后,若有冲突,右键项目,直接PULL(图标)代码远程代码到本地(本地代码必须先commit),在本地修改冲突代码,然后右键项目 add to git index ,PUSH(图标)。
[1] [猴子都能懂得git入门](http://backlogtool.com/git-guide/cn/intro/intro1_1.html)
[2] [git.oschina.net手机端下载](http://git.oschina.net/appclient)
[3] 权威Git书籍ProGit(中文版),新手老鸟均适合
[4] [廖雪峰的官方网站](http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000)