git 常用法 备忘

本文是写给自己看的备忘

不用每次都输入账号密码

git config --global credential.helper store

git clone http://xxx/foo.git
cd foo
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master


op .gitignore
加上 *~
面得被 emacs 临时文件干扰

fork 后 和同步github原仓库代码
git remote -v
git remote add raw https://github.com/cevio/koa-rapid-router.git
git fetch raw
git checkout master
git merge raw/master
git push


记录git的相关操作

// 全局配置
git config --global user.name "xxx"
git config --global user.email "xxx@xxx.xx"
git config --global i18n.logoutputencoding gbk

解决emacs 分页不好显示   提示 terminal is not fully functional

git config --global core.pager ""

tag
git tag -l -n 命令可以查看所有的版本
git checkout tag_name

c:/.gitconfig 就是改这个文件的内容啦,不如我直接去编辑好了
(find-file "c:/.gitconfig")

如果是 linux 下 对应的是  ~/.gitconfig   文件

// git 还原整个仓库
git reset --hard b80b8583665fe2160820ee76ee94c3a992bb4927

// 撤销add
git reset HEAD .

还原某个文件
git checkout 635e6fd95ac63b2ffc0c5e3128c4025405106ba5 mainwindow.ui


git pull 更新仓库版本
git add -u 添加已经在库里的修改删除等
git add -A 全部
git commit -m "消息"
git push   提交修改
git status 查看当前 add 状态
git checkout filename 还原filename

git rm   删除文件

撤销
git reset HEAD bin/*

建议先 pull
先 add 再 commit 最后 push

git log -3 -p   查看日志 最近3次的日志  -p 慎用,会输出很多东西 查看差异

建个本地仓库
建个新空目录 然后
f:/work/git/mygit $ git --bare init
看到下面一行提示
Initialized empty Git repository in f:/work/git/mygit/.git/
ok 建好了
注意这里要写 --bare 的,否则创建的目录在别的目录下无法push上去


来到 f:/work/git 目录
git clone f:/work/git/mygit/ mygit2
这样 mygit2 就被创建到了 git 目录下
op readme 然后写点东西
git add readme
git commit -m "add readme"
git push
这样就把仓库提交上去了


Perhaps you should specify a branch such as 'master'.
git push origin master

分支
git branch -a 查看所有分支 
git checkout remotes/origin/emwin 切换分支
git push origin mybranch:mybranch 把本地分支push到远程
git branch -D emwin 删除本地分支
git checkout -b emwin remotes/origin/emwin  在本地新建一个 emwin分支 拷贝自 remotes/origin/emwin
git branch -m remotes/origin/emwin emwin  重命名分支 把 remotes/origin/emwin 改为 emwin
git push origin --delete new_a  删除远端分之

TARGET_LINK_LIBRARIES(emwin_demo1 debug msvcrtd.lib debug MSVCPRTD.LIB) 
TARGET_LINK_LIBRARIES(emwin_demo1 optimized msvcrt.lib optimized MSVCPRT.LIB)


~/.gitconfig

[user]
        name = wangjunsheng
        email = xxxx@xxx.xx
[core]
        autocrlf = false 
        safecrlf = true
        pager = 
[alias]
        lg = log --pretty=oneline
        cm = commit -m
        st = status
        d  = diff
[credential]
        helper = store
[push]
        default = matching


rm -r custom_widgets/property_sheets/demo/common/property
git checkout custom_widgets/property_sheets/demo/common/property

git clean命令用来从你的工作目录中删除所有没有tracked过的文件

git clean经常和git reset --hard一起结合使用. 记住reset只影响被track过的文件, 所以需要clean来删除没有track过的文件. 结合使用这两个命令能让你的工作目录完全回到一个指定的<commit>的状态

用法

git clean -n

是一次clean的演习, 告诉你哪些文件会被删除. 记住他不会真正的删除文件, 只是一个提醒

git clean -f

删除当前目录下所有没有track过的文件. 他不会删除.gitignore文件里面指定的文件夹和文件, 不管这些文件有没有被track过

git clean -f <path>

删除指定路径下的没有被track过的文件

git clean -df

删除当前目录下没有被track过的文件和文件夹

git clean -xf

删除当前目录下所有没有track过的文件. 不管他是否是.gitignore文件里面指定的文件夹和文件

git reset --hard和git clean -f是一对好基友. 结合使用他们能让你的工作目录完全回退到最近一次commit的时候

git clean对于刚编译过的项目也非常有用. 如, 他能轻易删除掉编译后生成的.o和.exe等文件. 这个在打包要发布一个release的时候非常有用

下面的例子要删除所有工作目录下面的修改, 包括新添加的文件. 假设你已经提交了一些快照了, 而且做了一些新的开发

git reset --hard

git clean -df


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Git rebase命令是用于将一条分支上的提交应用到另一条分支上的操作。使用rebase可以重新整合提交历史,使得分支上的提交在主分支上的基础上进行重演。以下是使用git rebase的方: 1. 首先,切换到目标分支,即我们想要将提交应用到的目标分支。例如,如果我们想要将feature分支上的提交应用到master分支上,可以使用以下命令切换到master分支: ``` git checkout master ``` 2. 确保目标分支是最新的,可以使用git pull命令拉取最新的改动,并确保与远程仓库同步: ``` git pull ``` 3. 切换回源分支,即我们想要将提交应用到目标分支的源分支。例如,如果我们想要将feature分支上的提交应用到master分支上,可以使用以下命令切换回feature分支: ``` git checkout feature ``` 4. 执行rebase命令,将源分支上的提交应用到目标分支上。例如,如果我们想要将feature分支上的提交应用到master分支上,可以使用以下命令执行rebase: ``` git rebase master ``` 5. 在rebase过程中,如果有冲突发生,需要解决冲突。冲突解决完成后,可以使用以下命令继续进行rebase: ``` git rebase --continue ``` 6. 如果需要中止rebase操作,可以使用以下命令中止并返回到rebase操作之前的状态: ``` git rebase --abort ``` 请注意,使用git rebase操作可能会重写提交历史,因此在共享分支上使用时要小心。在某些情况下,例如多人协作开发或公共分支上的开发,推荐使用git merge操作而不是rebase操作,以避免篡改提交历史。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值