位置: 编程技术 - 正文
推荐整理分享Linux系统下Git操作命令整理(linux git教程),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:linux的git,linux git gui,linux gitee,linux git,linux gitee,gitea linux,gitea linux,gitea linux,内容如对您有帮助,希望把文章链接给更多的朋友!
1.显示当前的配置信息复制代码代码如下:git config --list 2. 创建repo从别的地方获取复制代码代码如下:git clone testcd testgit init 3. 显示状态复制代码代码如下:git status 4. commitgit add file.1 file.2 先增加文件,增加到index中。这样commit的时候才知道要commit哪些文件。或者复制代码代码如下:git add -p 用来interactively选择哪些改变需要被commit复制代码代码如下:git commit -m "log message" 或者复制代码代码如下:git commit -a 自动检查应该commit什么文件。如果是新增的文件,仍然要使用git add来添加。 5. 显示以前的工作复制代码代码如下:git log 输出格式复制代码代码如下:git log 复制代码代码如下:git log -p 显示patch复制代码代码如下:git log --stat 显示改动的一个总结复制代码代码如下:git log --graph 只显示当前branch的复制代码代码如下:git log --graph --all 显示所有branch的复制代码代码如下:git log --graph --all --decorate 显示branch的名字
复制代码代码如下:git log --pretty=oneline, short, full, fuller 输出的log 形式不同复制代码代码如下:git log --pretty=format:"%h - %an, %ar : %s" 按照指定的格式输出。关于--pretty的其他选项和具体的format格式,参考 git log --help中PRETTY FORMAT这部分。
复制代码代码如下:git log --follow file.c这个功能很有意思,尤其是当file.c被移动后。通常我们会移动某个文件到某个目录下。如果这么做,git log是不能显示目录移动前的记录的。那就加上 --follow吧。
git log的筛选git log -2 -p 显示最近两次commit的log 和 diffgit log --author="Author Name" 筛选特定作者的loggit log --since="-2-" --before="-2-" 筛选时间段git log --grep="key word" 在commit 的message中查找关键字git log branch --not master 查看在branch上的,但不在master上的记录。
git log -S"func_name" 查找某个字符出现,或者移出的commit。 比如可以查找一个函数是什么时候添加,或者删除的。
git show sha1 这个sha1是每个commit的sha1,这样显示某个commit的完全信息,包括diff 6. 撤销改动复制代码代码如下:git checkout -- file.1撤销了file.1的这次改动。只是撤销了没有staged的改动.中间的 -- 表明了这是一个文件 而不是一个branch的名字复制代码代码如下:git reset --hard HEAD撤销了所有没有commit的改动,包括了stage的和没有stage的。这条命令的结果一样git checkout HEAD file.1包括了staged 和没有staged的都会清除。
有时候我们发现,之前做个一个commit有问题,不想要,想要去掉。git revert HEAD 自动得重新做一个commit,将最后一次的commit返回回来。git revert HEAD^ 自动得重新做一个commit,将最后第二次的commit 返回回来。7. 删除一个commit复制代码代码如下:git reset --hard HEAD~1删除了最近的commit
8. 修改最近的一个commit复制代码代码如下:git commit --amend 7.显示所做的改动复制代码代码如下:git diff显示所有的改动。 没有add到index中的。复制代码代码如下:git diff --staged或者 git diff --cached显示staged改动,也就是add的东东,也就是将要commit的东东。复制代码代码如下: git diff commit1 commit2显示这两个commit之间的变动, 从commit1到commit2的变动。
复制代码代码如下:git diff commit1..commit2两个点,效果跟上面的一样
复制代码代码如下:git diff commit1...commit2三个点,表示的是发生在commit2分支,一直到commit1和commit2共同父亲的变化。
复制代码代码如下:git blame -C file1.c显示文件具体的改动。。。。恩,好像是用来找是谁的错?
复制代码代码如下:git blame -Ln,m file1.c 查看n,m两行间的改动。
复制代码代码如下:git blame commit1~1 -Ln,m file1.c查看commit1版本前的改动. 追查之前的log。
复制代码代码如下:git blame commit1~1 -Ln,m -- old/file.c如果这个文件被重命名过,或者移动过位置,就要输入旧的文件的名字。而且一定要加上 -- , 一定。 8. 删除某个文件复制代码代码如下:git rm file-name从库和当前的working directory中删掉这个文件复制代码代码如下:git rm --cached file-name只从库中删除,保留当前的本地文件。
9. 重命名一个文件复制代码代码如下:git mv file file-new
. 应用patch复制代码代码如下:git apply patch-file这样做从patch-file中应用这个patch。 效果和patch命令类似。 但是好处是,git apply要么成功,要么不成功。不想patch,有可能有部分的patch打上了,但是有的没有打上。git apply后,并没有自动生成一个commit.
git apply --check 可以用来检测这个patch 是不是会产生冲突或者失败。
复制代码代码如下:git am patch-file这是专门为git 设计的命令。 patch-file是通过git format-patch 生成的。 其中包含了作者信息和简单描述。git am后,会自动的生成一个commit.
复制代码代码如下:git am --resolvedgit am 过程中可能会有conflict. 如过遇到conflict, 那就需要手动修改code, git add 后用git am --resolved
删除一些没有git add的文件;复制代码代码如下:git clean 参数-n 显示将要删除的文件和目录-f 删除文件-df 删除文件和目录
复制代码代码如下:git clean -df alps/
git remote
git是一个分布式代码管理工具,所以可以支持多个仓库,在git里,服务器上的仓库在本地称之为remote。直接clone一个仓库:复制代码代码如下:$: git clone git@search.ued.taobao.net:projects/search.git另外一种clone方式:复制代码代码如下:# 创建目录初始化本地仓库$: mkdir search && cd search$: git init# 添加远程仓库路径$: git remote add github git@github.com:yyfrankyy/search.git# 实际上,pull 就是 fetch + merge$: git pull github --all --tags把工作目录迁移到github上面:复制代码代码如下:$: git remote add github git@github.com:yyfrankyy/search.git$: git push github --all --tags显示所有的远程仓库复制代码代码如下:$: git remote -vorigin git@search.ued.taobao.net:projects/search.git (fetch)origin git@search.ued.taobao.net:projects/search.git (push)github git@github.com:yyfrankyy/search.git (fetch)github git@github.com:yyfrankyy/search.git (push)重命名远程仓库复制代码代码如下:$: git remote rename github gh$: git remoteorigingh删除远程仓库复制代码代码如下:$: git remote rm github$: git remoteorigin从远程仓库抓取数据,更新本地仓库:复制代码代码如下:$: git fetch originremote: Counting objects: , done.remote: Compressing objects: % (/), done.remote: Total (delta ), reused 1 (delta 0)Unpacking objects: % (/), done.From * [new branch] product -> origin/product查看远程仓库信息,可用于跟踪别人的push:复制代码代码如下:$: git remote show origin * remote origin Fetch URL: git@search.ued.taobao.net:projects/search.git Push URL: git@search.ued.taobao.net:projects/search.git HEAD branch: master Remote branches: master tracked p4popt tracked prepub tracked product tracked Local branches configured for 'git pull': master merges with remote master p4popt merges with remote p4popt prepub merges with remote prepub product merges with remote product Local refs configured for 'git push': master pushes to master (up to date) p4popt pushes to p4popt (up to date) prepub pushes to prepub (up to date) product pushes to product (up to date)
Git服务器的Gitosis安装配置及gitignore的使用方法 Git服务器Gitosis安装设置1、安装openssh服务器复制代码代码如下:sudoapt-getinstallopenssh-serveropenssh-client2、创建个人公钥和私钥在默认用户的主目录路径下,
深入解析Linux系统下的进程切换 Linux内核下进程切换Linux切换并没有使用XCPU的切换方法,Linux切换的实质就是cr3切换(内存空间切换,在switch_mm函数中)+寄存器切换(包括EIP,ESP等,
Linux系统下的ipmitool工具使用指南 本文介绍ipmitool工具的使用,这个命令主要是用来操作服务器硬件的,所以一般的业务运维很少会用它,但它的功能很强大,比如:能够硬重启服务器,
标签: linux git教程
本文链接地址:https://www.jiuchutong.com/biancheng/353249.html 转载请保留说明!友情链接: 武汉网站建设