Git 常用命令


git status 查看仓库当前的状态

丢弃本地修改文件
本地修改文件,但是没有加到缓存区
git checkout .
git clean -xdf

本地修改文件,且加到缓存区
git reset --hard
git clean -xdf

强制把远程仓库的代码覆盖掉本地
git reset --hard origin/master

修改文件后提交的步骤
git add .
git commit -m 'xxxxx'
git add .
git commit -m 'xxxxx'
git add .
git commit -m 'xxxxx'
git push


git add -u 可以用于删除文件时候同步到远程库
第一步:git clone
git clone url filename(此项非必选,默认本地文件与远程地址相同)

第二步:git remote
为了便于管理,Git要求每个远程主机都必须指定一个主机名。git remote命令就用于管理主机名。
不带选项的时候,git remote命令列出所有远程主机。
git remote
使用-v选项,可以参看远程主机的网址。
git remote -v

origin git@github.com:jquery/jquery.git(fetch)
origin git@github.com:jquery/jquery.git(push)
上面命令表示,当前只有一台远程主机,叫做origin,以及它的网址。
克隆版本库的时候,所使用的远程主机自动被Git命名为origin。如果想用其他的主机名,需要用git clone命令的-o选项指定。
git clone -o jQuery https://github.com/jquery/jquery.git
上面命令表示,克隆的时候,指定远程主机叫做jQuery。
git remote show命令加上主机名,可以查看该主机的详细信息。
git remote show <主机名>
git remote add命令用于添加远程主机。
git remote add <主机名> <网址>
git remote rm命令用于删除远程主机。
git remote rm <主机名>
git remote rename命令用于远程主机的改名。
git remote rename <原主机名> <新主机名>
git remote set-url --add origin <url2> 往origin库里添加url2 以后再push的时候,就可以同时push多个库了

多处提交config
[remote "origin"]
url = git@git.oschina.net:jiaoshou/reacttest.git
fetch = +refs/heads/*:refs/remotes/origin/*
url = git@git.coding.net:jsser/reacttest.git
[branch "master"]
remote = origin
merge = refs/heads/master


第三步:git fetch
git fetch <远程主机名>
上面命令将某个远程主机的更新,全部取回本地。
git fetch命令通常用来查看其他人的进程,因为它取回的代码对你本地的开发代码没有影响。
默认情况下,git fetch取回所有分支(branch)的更新。如果只想取回特定分支的更新,可以指定分支名。
git fetch <远程主机名> <分支名>
比如,取回origin主机的master分支。
git fetch origin master
所取回的更新,在本地主机上要用"远程主机名/分支名"的形式读取。比如origin主机的master,就要用origin/master读取。
git branch命令的-r选项,可以用来查看远程分支,-a选项查看所有分支。
git branch -r
git branch -a
上面命令表示,本地主机的当前分支是master,远程分支是origin/master。
取回远程主机的更新以后,可以在它的基础上,使用git checkout命令创建一个新的分支。
git checkout -b xxxx
上面命令表示,在origin/master的基础上,创建一个新分支。
切换分支 git checkout xxx
删除本地分支 git branch -d xxxxx
此外,也可以使用git merge命令或者git rebase命令,在本地分支上合并远程分支。
git merge origin/master# 或者
git rebase origin/master
上面命令表示在当前分支上,合并origin/master。

第四步:git pull
git pull命令的作用是,取回远程主机某个分支的更新,再与本地的指定分支合并。它的完整格式稍稍有点复杂。
git pull <远程主机名> <远程分支名>:<本地分支名>
比如,取回origin主机的next分支,与本地的master分支合并,需要写成下面这样。
git pull origin next:master
如果远程分支是与当前分支合并,则冒号后面的部分可以省略。
git pull origin next
上面命令表示,取回origin/next分支,再与当前分支合并。实质上,这等同于先做git fetch,再做git merge。
git fetch origin
git merge origin/next
在某些场合,Git会自动在本地分支与远程分支之间,建立一种追踪关系(tracking)。比如,在git clone的时候,所有本地分支默认与远程主机的同名分支,建立追踪关系,也就是说,本地的master分支自动"追踪"origin/master分支。
Git也允许手动建立追踪关系。
git branch--set-upstream master origin/next
上面命令指定master分支追踪origin/next分支。
如果当前分支与远程分支存在追踪关系,git pull就可以省略远程分支名。
git pull origin
上面命令表示,本地的当前分支自动与对应的origin主机"追踪分支"(remote-tracking branch)进行合并。
如果当前分支只有一个追踪分支,连远程主机名都可以省略。
git pull
上面命令表示,当前分支自动与唯一一个追踪分支进行合并。
如果合并需要采用rebase模式,可以使用--rebase选项。
git pull--rebase <远程主机名> <远程分支名>:<本地分支名>
如果远程主机删除了某个分支,默认情况下,git pull不会在拉取远程分支的时候,删除对应的本地分支。这是为了防止,由于其他人操作了远程主机,导致git pull不知不觉删除了本地分支。
但是,你可以改变这个行为,加上参数-p就会在本地删除远程已经删除的分支。
git pull-p# 等同于下面的命令
git fetch--prune origin
git fetch-p

第五步:git push
git push命令用于将本地分支的更新,推送到远程主机。它的格式与git pull命令相仿。
git push<远程主机名><本地分支名>:<远程分支名>
注意,分支推送顺序的写法是<来源地>:<目的地>,所以git pull是<远程分支>:<本地分支>,而git push是<本地分支>:<远程分支>。
如果省略远程分支名,则表示将本地分支推送与之存在"追踪关系"的远程分支(通常两者同名),如果该远程分支不存在,则会被新建。
git push origin master
上面命令表示,将本地的master分支推送到origin主机的master分支。如果后者不存在,则会被新建。
如果省略本地分支名,则表示删除指定的远程分支,因为这等同于推送一个空的本地分支到远程分支。
git push origin:master# 等同于git push origin--delete master
上面命令表示删除origin主机的master分支。
如果当前分支与远程分支之间存在追踪关系,则本地分支和远程分支都可以省略。
git push origin
上面命令表示,将当前分支推送到origin主机的对应分支。
如果当前分支只有一个追踪分支,那么主机名都可以省略。
git push
如果当前分支与多个主机存在追踪关系,则可以使用-u选项指定一个默认主机,这样后面就可以不加任何参数使用git push。
git push -u origin master
上面命令将本地的master分支推送到origin主机,同时指定origin为默认主机,后面就可以不加任何参数使用git push了。

 

git init here -- 创建本地仓库(repository),将会在文件夹下创建一个 .git 文件夹,.git 文件夹里存储了所有的版本信息、标记等内容

git remote add origin git@github.com:winter1991/helloworld.git
-- 把本地仓库和远程仓库关联起来。如果不执行这个命令的话,每次 push 的时候都需要指定远程服务器的地址

git add -- 从本地仓库增删,结果将会保存到本机的缓存里面
git rm  --把一个文件删除,并把它从git的仓库管理系统中移除

git commit -m "注释" -- 提交,把本机缓存中的内容提交到本机的 HEAD 里面(添加或者删除之后都要commit提交到git仓库才会生效)

git push origin master -- 把本地的 commit(提交) push 到远程服务器上, origin 也就是之前 git remote add origin 那个命令里面的 origin,origin 替代了服务器仓库地址:git push git@github.com:winter1991/helloworld.git master
git pull origin master -- 从远程服务器 pull 新的改动

git status -- 查看状态

git diff -- 查看修改内容
git add -A -- 提交全部修改

git log  -- 查看历史记录

git log --pretty=oneline  --查看简写版的历史记录

git reset --hard HEAD^ 用HEAD表示当前版本,也就是最新的提交版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。(从现在往原来回退)

cat aaa.html    --查看aaa.html文件内容

git reset --hard 3628164   最后加的是commit id  多加几位和别的区分开就行(从现在往任意时间跳转)  

git reflog 记录每一次命令

pwd 展示当前所在位置
cd 回到主目录
cd.. 返回上一级目录
cd 目录名 打开目录
cd /目录名 从主页开始寻找路径


1. git 配置:
git config --global user.name "xxx" -- 配置用户名,上传本地 repository 到服务器上的时候,在 Github 上会显示这里配置的上传者信息
git config --global user.email "xxx" -- 配置邮箱
git config --list 查看配置列表

配置 sshkey : 上传代码时使用这个 sshkey 来确认是否有上传权限
1. 创建本地 ssh : ssh-keygen -t rsa -C "Github 的注册邮箱"
2. 在 Github 中添加这个 sshkey :
复制 C:\Documents and Settings\Administrator\.ssh\id_rsa.pub 文件中的内容;
登录 Github --> Account Setting --> SSH-KEY --> Add SSH-KEY --> 粘贴id_rsa.pub中的内容;
3. 验证: ssh -T git@github.com
出现 Hi xxx! You've successfully authenticated, but GitHub does not provide shell access. 说明配置成功,可以连接上 Github

2. 建立仓库 repository :
git init here -- 创建本地仓库
git remote add origin git@github.com:用户名/仓库名.git
-- 把本地仓库和远程仓库关联起来, 如果不执行这个命令的话,每次 push 的时候都需要指定远程服务器的地址


3. 从远程仓库中下载新的改动:
git pull origin master


4. 提交本地修改到远程仓库中:
git add
git add -A -- 将改动添加到本地仓库中
git rm xxx -- 从本地仓库中删除指定文件
git rm -r xxx -- 从本地仓库中删除指定文件夹

git commit -m "注释" -- 把本机缓存中的内容提交到本机的 HEAD 里面

git push origin master -- 把本地的 commit push 到远程仓库中


5. 使用 .gitignore 文件忽略指定的内容:
1. 在本地仓库根目录创建 .gitignore 文件。Win7 下不能直接创建,可以创建 ".gitignore." 文件,后面的标点自动被忽略;
2. 过滤文件和文件夹: [Tt]emp/ 过滤 Temp\temp 文件夹; *.suo 过滤 .suo 文件;
3. 不过滤文件和文件夹: !*.c

 

 

【SourceTree】删除文件提交git库

 git add .
 git add -A
  git commit -m 'delete some files' -a
关掉sourcetree  再重新打开 再推送

本文标题:Git 常用命令

原创作者:Jiao Shou

发布时间:2015年03月21日 - 20:51

最后更新:2015年03月21日 - 20:52

原始链接:http://www.cnblogs.com/jiaoshou/p/4356164.html

许可协议:转载本篇文章时请务必以超链接形式标明文章原文链接和作者信息。

扫描二维码,分享此文章

转载于:https://www.cnblogs.com/jiaoshou/p/4356164.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值