缘起
年后到了新公司,由于个人意愿到了一个海外的项目组,除了自己从Java技术栈转了C#技术栈外,很多技术都是第一次使用,学习压力不小啊.
自己也就先从常用的技术开始学起,比如C#,AngularJS,git.其中在学习git时,同事给推荐了一个网站tryGit,虽然早在13年就自己学了过git的知识,可惜实践的较少,命令也基本忘得差不多了.今天晚上抽时间上来练习了一下,感觉这个网址学习git基本命令还不错.但也发现了些问题,由于照着提示练习的命令,并没有很好的记住.感觉整理出来,当忘记的时候翻出来看一下要比在问谷歌或百度要更快些.于是又照着教程敲了一遍,整理了几个基础命令.
基础命令
git init
将当前目录设置成git directory(repository)
git status
查看working directory
和staging area
里文件状态.三种状态的文件将被显示出来,分别是untrcked
,modified
,staged
.状态是unmodified
的文件不会被显示.git add octocat.txt
添加文件到staging area
.git commit -m "Add a file"
提交文件到git directory
.git add "*.txt"
添加文件到staging area
.git log
查看commit日志.git remote add origin https://github.com/try-git/try_git.git
添加远程仓库,其中origin 是远程仓库名称.git push -u origin master
推送git directory
里的代码到远程仓库.其中-u
的作用是记录住这个远程仓库,以后再执行推送只需要敲git push
.git pull origin master
更新代码从远程仓库,其中origin 是远程仓库名称,master是远程仓库分支名称.git diff
显示working directory
与staging area
间文件的差异.git diff --staged (或 git diff --cached)
显示staging area
与git directory
间文件的差异.git diff HEAD
显示working directory
与git directory
间文件的差异.git diff HEAD^
显示working directory
与上次提交的差异.git diff HEAD~2
显示working directory
与上2次提交的差异.git diff --stat
显示working directory
与staging area
间文件的差异.但只列出文件名.git reset octofamily/octodog.txt
将文件从staging area
回滚到working directory
中.即将文件混滚到add前的状态.git checkout -- octocat.txt
将文件回滚到修改前的状态.即丢弃对文件的修改.git branch clean_up
创建分支,其中clean_up是分支名称.git checkout clean_up
切换到分支.git rm '*.txt'
删除文件.git merge clean_up
当前分支合并clean_up分支的代码.如果遇到冲突,需要解决冲突,然后commit后完成合并.git branch -d clean_up
删除分支,其中clean_up是分支名称.git push
推送代码到远程分支.
结语
会这么几个命令基本上一个人使用git是没有任何问题了,因为不会遇到代码冲突.但是团队使用还是要深入的学习下处理冲突的方法,分支的管理.
这个网址https://git-scm.com有继续学习git的资料.
这个网址https://git-scm.com/book/en/v2能够在线阅读«Pro git».
参考
- tryGit https://try.github.io
关于作者